java 数据库基本操作 x5lVb$!G
1、java数据库操作基本流程 EmNVQ1w
2、几个常用的重要技巧: N1 t4o~
可滚动、更新的记录集 )&c2+Y@
批量更新 c2E /-n4K@
事务处理 A2'i~_e
4)8k?iC*
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 @cDB 7w\
1、取得数据库连接 fv;Q*; oC&
1)用DriverManager取数据库连接 Hg#tSE
例子
c1H.v^Y5
String className,url,uid,pwd; 2q?/aw ;Z
className = "oracle.jdbc.driver.OracleDriver"; [OC(~b
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; f1'ByV'2
uid = "system"; uyj!$}4
pwd = "manager"; '@n"'vks(\
Class.forName(className); /`PYk]mJh
Connection cn = DriverManager.getConnection(url,uid,pwd); {wSi?;[Gq
2)用jndi(java的命名和目录服务)方式 7e<=(\(yl
例子 *p{p.%Qs:
String jndi = "jdbc/db"; %'2P4(
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); !wYN",R-
DataSource ds = (DataSource) ctx.lookup(jndi); ?JuJu1
Connection cn = ds.getConnection(); CsR[@&n'
多用于jsp中 mF6-f#t>H+
2、执行sql语句 6uRE9h|
1)用Statement来执行sql语句 xdSMYH{2A
String sql; z
g7Q`
Statement sm = cn.createStatement(); YD4I2'E
sm.executeQuery(sql); // 执行数据查询语句(select) $Itmm/M
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); "*lx9bvV_
2)用PreparedStatement来执行sql语句 ZU\$x<,
String sql; JsY,Q,D q
sql = "insert into user (id,name) values (?,?)"; Ws2q/[\oz
PreparedStatement ps = cn.prepareStatement(sql); v^9eTeFO
ps.setInt(1,xxx); 7[Us.V@
ps.setString(2,xxx); 6i/unwe!`)
... t>[QW`EeP
ResultSet rs = ps.executeQuery(); // 查询 RXXHg
int c = ps.executeUpdate(); // 更新 dDcQSshL
&8VH m?h
3、处理执行结果 !)M}(I}
查询语句,返回记录集ResultSet pMU\f
更新语句,返回数字,表示该更新影响的记录数 KXWcg#zFY
ResultSet的方法 htB2?%S=T
1、next(),将游标往后移动一行,如果成功返回true;否则返回false {|9knP
2、getInt("id")或getSting("name"),返回当前游标下某个字段的值 A}(xH`A
@]Q4K%1^"
4、释放连接 xU;SRB
cn.close(); 7gX32r$%V
一般,先关闭ResultSet,然后关闭Statement(或者PreparedStatement);最后关闭Connection l$u52e!7
'/GB8L
可滚动、更新的记录集 tQ}GTqk
1、创建可滚动、更新的Statement g~<[;6&