java 数据库基本操作 Rp.Sj{<2
1、java数据库操作基本流程 kpJ@M%46
2、几个常用的重要技巧: UtPLI al
可滚动、更新的记录集 !}YAdZJ
批量更新 %`>nS@1zp
事务处理 N4^-`
m? eiIrMW
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 q$I;dOCJ,
1、取得数据库连接 zMj#KA1
1)用DriverManager取数据库连接 En~5"yW5>]
例子 ',Y.v"']4
String className,url,uid,pwd; H5DC[bZMb%
className = "oracle.jdbc.driver.OracleDriver"; xbdN0MAU
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; ![`Ay4AZ@a
uid = "system"; u[@l~gwL
pwd = "manager"; g[1gF&
Class.forName(className); .<jr0,i
Connection cn = DriverManager.getConnection(url,uid,pwd); }Mst jm
2)用jndi(java的命名和目录服务)方式 }#L^! \V}
例子 SX<` {x&L
String jndi = "jdbc/db"; iP
=V8g?L
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); d74d/l1*{
DataSource ds = (DataSource) ctx.lookup(jndi); 8$")%_1]
Connection cn = ds.getConnection(); 9!6f-K
多用于jsp中 ]JCvyz
H
2、执行sql语句 zz+$=(T:M
1)用Statement来执行sql语句 QqFR\6
String sql; (\\eo
Statement sm = cn.createStatement(); XRcq hv
sm.executeQuery(sql); // 执行数据查询语句(select) {_7i8c<s=
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); ?3nR
2)用PreparedStatement来执行sql语句 PH1p2Je
String sql; -8; 7Sp1
sql = "insert into user (id,name) values (?,?)"; JSkLEa~<
PreparedStatement ps = cn.prepareStatement(sql); K~c=M",mW
ps.setInt(1,xxx); }p}[j t
ps.setString(2,xxx); }=%oX}[
... ?{/4b:ua
ResultSet rs = ps.executeQuery(); // 查询 / :
L ?~
int c = ps.executeUpdate(); // 更新 u?4:H=;>
d:#yEC
3、处理执行结果 _2hS";K
查询语句,返回记录集ResultSet ti5mIW\
更新语句,返回数字,表示该更新影响的记录数 GC>e26\:
ResultSet的方法 8B/\U'
1、next(),将游标往后移动一行,如果成功返回true;否则返回false s8ywKTR-
2、getInt("id")或getSting("name"),返回当前游标下某个字段的值 S]bmS6#
-K
q5i
4、释放连接 Yk)."r&