java 数据库基本操作 hXz"}X n
1、java数据库操作基本流程 }Lb];hww1
2、几个常用的重要技巧: Z]w_2- -
可滚动、更新的记录集 ^jf$V#z0/
批量更新 PDD` eK}Fj
事务处理 OR?8F5o?p
~@'|R%jJ
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 /jj@ =H
1、取得数据库连接 xZ;';}&pj
1)用DriverManager取数据库连接 Ae ue:u>
例子 uUc[s"\
String className,url,uid,pwd; ,ypxy/
className = "oracle.jdbc.driver.OracleDriver"; D"^ogY#LK
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; _^P>@
^
uid = "system"; y:2o-SJn
pwd = "manager"; DU 8)c$
Class.forName(className); c#HocwP@
Connection cn = DriverManager.getConnection(url,uid,pwd); cst=ms
2)用jndi(java的命名和目录服务)方式 #(
kT
例子 xHD!8B)
String jndi = "jdbc/db"; !kV?h5@Bo
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); Ym F`7W
DataSource ds = (DataSource) ctx.lookup(jndi); {< kl)}
Connection cn = ds.getConnection(); xPb`CY7
多用于jsp中 4
Qw;r
2、执行sql语句 7XR[`Tn9<
1)用Statement来执行sql语句 <n6/np!
String sql; u[dI81`
Statement sm = cn.createStatement(); UI!EIZ*~
sm.executeQuery(sql); // 执行数据查询语句(select) Mm/GIa
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); 7s.sbP~
2)用PreparedStatement来执行sql语句 Pc4sReo'
String sql; ?^"S%Vb
sql = "insert into user (id,name) values (?,?)"; jXW71$B
PreparedStatement ps = cn.prepareStatement(sql); ~+T~}S
ps.setInt(1,xxx); UyF]gO
ps.setString(2,xxx); *{-XN
... #a .aD+d'
ResultSet rs = ps.executeQuery(); // 查询 E3gQ`+wNg?
int c = ps.executeUpdate(); // 更新 CX1'B0=\r
vkt)!hl `
3、处理执行结果 DAvAozM
查询语句,返回记录集ResultSet !MGQ+bD6
更新语句,返回数字,表示该更新影响的记录数 >5 i8%r
ResultSet的方法 ](a<b@p
1、next(),将游标往后移动一行,如果成功返回true;否则返回false 9JUlu
2、getInt("id")或getSting("name"),返回当前游标下某个字段的值 ?VzST }
7M$>'PfO
4、释放连接 `[:f;2(@
cn.close(); 2^:5aABQ
一般,先关闭ResultSet,然后关闭Statement(或者PreparedStatement);最后关闭Connection &