java 数据库基本操作 qcGK2Qx
1、java数据库操作基本流程 PAOJ\U
2、几个常用的重要技巧: C\/L v.
可滚动、更新的记录集 O<;3M'y\
批量更新 0,8okAH
事务处理 |id
<=Xf
wg]LVW}
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 @jlw_ob2g
1、取得数据库连接 O5t[
1)用DriverManager取数据库连接 O s.4)
例子 -\n@%$M]G
String className,url,uid,pwd; 'oC)
NpnH
className = "oracle.jdbc.driver.OracleDriver"; _H=Uwi_g
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; @k/NY*+
uid = "system"; g
SAt@2*U2
pwd = "manager"; U~l$\c
Class.forName(className); BIWWMg
Connection cn = DriverManager.getConnection(url,uid,pwd); P_p<`sC9
2)用jndi(java的命名和目录服务)方式 )D82N`c2\i
例子 M+9 gL3W
String jndi = "jdbc/db"; #`X?=/q
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); )Iq <+IJ
DataSource ds = (DataSource) ctx.lookup(jndi); :Qf '2.h)
Connection cn = ds.getConnection(); qXjxNrK
多用于jsp中 _OC<[A
2、执行sql语句 Q'mM3pq4r
1)用Statement来执行sql语句 kd$D 3S^{
String sql; az|N-?u
Statement sm = cn.createStatement(); ZEO,]$Yi7
sm.executeQuery(sql); // 执行数据查询语句(select) =k:,qft2
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); ,$+V
2)用PreparedStatement来执行sql语句 yN
s,Ll~
String sql; [bNx^VP*
sql = "insert into user (id,name) values (?,?)"; bB;5s`-
PreparedStatement ps = cn.prepareStatement(sql); r!a3\ep
ps.setInt(1,xxx); ^_5r<{7/ :
ps.setString(2,xxx); gH3vk $WS
... 3fJc
9|
ResultSet rs = ps.executeQuery(); // 查询 @<]Ekkg
int c = ps.executeUpdate(); // 更新 "4,?uPi
">jj
3、处理执行结果 A^EE32kbm
查询语句,返回记录集ResultSet SrK<fAkx
更新语句,返回数字,表示该更新影响的记录数 W#C*5@ 8
ResultSet的方法 XJ5.
1、next(),将游标往后移动一行,如果成功返回true;否则返回false A4<Uu~
2、getInt("id")或getSting("name"),返回当前游标下某个字段的值 m&?r%x
4^OY
C
4、释放连接 %lGfAYEM=
cn.close(); p >t#@Eu|
一般,先关闭ResultSet,然后关闭Statement(或者PreparedStatement);最后关闭Connection cXOK)g#
&7wd?)s
可滚动、更新的记录集 u21EP[[,
1、创建可滚动、更新的Statement P0PWJ^+,+
Statement sm = cn.createStatement(ResultSet.TYPE_SCROLL_ENSITIVE,ResultSet.CONCUR_READ_ONLY); f/Bp.YwL
该Statement取得的ResultSet就是可滚动的 3az&