java 数据库基本操作 xO-U]%oq
1、java数据库操作基本流程 d.j'0w"
2、几个常用的重要技巧: NND=Zxl
可滚动、更新的记录集 !K3cf]2UD
批量更新 (E}cA&{
事务处理 *.]E+MYi*
s]vJUC,s
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 Sje0:;;|
1、取得数据库连接 HL}~W}!j
1)用DriverManager取数据库连接 %
r Y8
例子 >^f)|0dn)E
String className,url,uid,pwd; .S'fM]_#
className = "oracle.jdbc.driver.OracleDriver"; ]|t.wr3AU
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; E:4P1,%01+
uid = "system"; s!/holu
pwd = "manager"; XH:gQ 9FD
Class.forName(className); if[o?6U4t
Connection cn = DriverManager.getConnection(url,uid,pwd); 4_762Gu%
2)用jndi(java的命名和目录服务)方式 @Du}
例子 Y`7#[g
String jndi = "jdbc/db"; #!Cter2
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); #G+
DataSource ds = (DataSource) ctx.lookup(jndi); -Bo~"q
Connection cn = ds.getConnection(); hRa(<Z K
多用于jsp中 #f3 ;}1(
2、执行sql语句 KCh
1)用Statement来执行sql语句 Mev-M2A
String sql; zt[4_;2Y
Statement sm = cn.createStatement(); +:]Aqyc\
sm.executeQuery(sql); // 执行数据查询语句(select) EPe]-C`
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); mOgOHb2
2)用PreparedStatement来执行sql语句 q$?7
~*M;x
String sql; uz#PBV8Q
sql = "insert into user (id,name) values (?,?)"; q _]
PreparedStatement ps = cn.prepareStatement(sql); )ehB)X
ps.setInt(1,xxx); y+";
ps.setString(2,xxx); TG63
...
!jnqA Z
ResultSet rs = ps.executeQuery(); // 查询 [Ql?Y$QB`4
int c = ps.executeUpdate(); // 更新 b4)*<Zp`
h lkvk]v
3、处理执行结果 (}FW])y
查询语句,返回记录集ResultSet V4eng "
更新语句,返回数字,表示该更新影响的记录数 v*H &