java 数据库基本操作 9DIG K\
1、java数据库操作基本流程 nP}/#Wy
2、几个常用的重要技巧: vOqT Ld
可滚动、更新的记录集 {Z|C
批量更新 /:S.("Unv
事务处理 eA!aUu
w:qwU\U>x
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 <a'j8pw9i
1、取得数据库连接 Z8m/8M
1)用DriverManager取数据库连接 m+o>`1>a
例子 LcF0: h'
String className,url,uid,pwd; m_pK'jc
className = "oracle.jdbc.driver.OracleDriver"; @FQ@*XD
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; ;>PV]0bOm>
uid = "system"; -/h$Yb
pwd = "manager"; , 7}Ri
Class.forName(className); 4F'@yi^Gt
Connection cn = DriverManager.getConnection(url,uid,pwd); @gZ%>qe
2)用jndi(java的命名和目录服务)方式 Y$(G)Fs
例子 w'UP#vT5&
String jndi = "jdbc/db"; NWKD:{
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); 1r;Q5[@
DataSource ds = (DataSource) ctx.lookup(jndi); 46mu,v
Connection cn = ds.getConnection();
"dA"N$
多用于jsp中 &oT]ycz%
2、执行sql语句 UOa{J|k>h
1)用Statement来执行sql语句 Q} /
:
String sql; [\I\).
Statement sm = cn.createStatement(); P|G:h&
sm.executeQuery(sql); // 执行数据查询语句(select) [x@iqFO9
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); &)rmv
2)用PreparedStatement来执行sql语句 3 iY`kf
String sql; Z!*Wn`d-k
sql = "insert into user (id,name) values (?,?)"; /ZAEvdO*P
PreparedStatement ps = cn.prepareStatement(sql); " I:j a7
ps.setInt(1,xxx); '06[@Cw
ps.setString(2,xxx); b6#V0bDXHD
... C<{k[!N%zm
ResultSet rs = ps.executeQuery(); // 查询 &ed.%:
int c = ps.executeUpdate(); // 更新 ](^xA`
]E,
3、处理执行结果 =s;7T!7!
查询语句,返回记录集ResultSet :
G<