java 数据库基本操作 hD5G\TR.
1、java数据库操作基本流程 Jm l4EW7
2、几个常用的重要技巧: k5%:L2FO
可滚动、更新的记录集 R} #6
批量更新 #6%9*Rh
事务处理 |rDv!m
#~SQujgB
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 [e:mRMi
1、取得数据库连接 `f9I#B
1)用DriverManager取数据库连接 _26~<gU8
例子 P;#}@ /E
String className,url,uid,pwd; '<35XjW
className = "oracle.jdbc.driver.OracleDriver"; ^mu?V-4
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; p+;[i%`
uid = "system"; 6] ~g*]T
pwd = "manager"; Wy2 pa
#Q
Class.forName(className); x[,HK{U|t
Connection cn = DriverManager.getConnection(url,uid,pwd); 3\xvy{r
2)用jndi(java的命名和目录服务)方式 G@O~*k1v
例子 0pSqk/
String jndi = "jdbc/db"; h7( R/R f
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); y3 R+060\3
DataSource ds = (DataSource) ctx.lookup(jndi); L%[om c?
Connection cn = ds.getConnection(); "1P>,\Sjg
多用于jsp中 g?'4G$M
2、执行sql语句 bk**% ]
1)用Statement来执行sql语句 Q)7iu
String sql; RE72%w(oM
Statement sm = cn.createStatement(); .."=
sm.executeQuery(sql); // 执行数据查询语句(select) F0O/SI(cA
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); <23oyMR0
2)用PreparedStatement来执行sql语句 =+T$1
String sql; OIuEC7XM^C
sql = "insert into user (id,name) values (?,?)"; +[MzF EE[
PreparedStatement ps = cn.prepareStatement(sql); Jv*(DFt!v
ps.setInt(1,xxx); GgoPwl#{
ps.setString(2,xxx); 3aL8 gE
... *Txt`z[|
ResultSet rs = ps.executeQuery(); // 查询 Ylc[ghx
int c = ps.executeUpdate(); // 更新 e B`7C"Z
E1U~ew
3、处理执行结果 6gLk?^.
查询语句,返回记录集ResultSet nQ/R,+6h
更新语句,返回数字,表示该更新影响的记录数 q;dg,Om
ResultSet的方法 n5Ad@B g
1、next(),将游标往后移动一行,如果成功返回true;否则返回false l .8@F
2、getInt("id")或getSting("name"),返回当前游标下某个字段的值 < sJ
CzF#feTA
4、释放连接 .^<4]
cn.close(); Pg]&^d&