java 数据库基本操作 j<8_SD =,
1、java数据库操作基本流程 7M3q|7?
2、几个常用的重要技巧: dm8veKW'l
可滚动、更新的记录集 :*0k:h6g
批量更新 `vL R;D
事务处理 #y-OkGS
^
bsP:tFw>
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 0=t_a]+
1、取得数据库连接 AH`tkPd
1)用DriverManager取数据库连接 I"Ju3o?u
例子 UF,T
String className,url,uid,pwd; ^q%~K{'`-
className = "oracle.jdbc.driver.OracleDriver"; bxrByu~| 1
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; q/m}+v]
uid = "system"; z* zLK[t+
pwd = "manager"; u'yePJTE
Class.forName(className); [9[tn-
Connection cn = DriverManager.getConnection(url,uid,pwd); |pq z(j7
2)用jndi(java的命名和目录服务)方式 _^#PV}
例子 T_5 E
String jndi = "jdbc/db"; K 2LLuS!
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); dWI/X
DataSource ds = (DataSource) ctx.lookup(jndi); 4w2V["?X1
Connection cn = ds.getConnection(); &X}9D)\UJ
多用于jsp中 @U}fvdft
2、执行sql语句
[GU!],Y
1)用Statement来执行sql语句 qe`W~a9x
String sql; hL67g
Statement sm = cn.createStatement(); ZS^EKz~ +
sm.executeQuery(sql); // 执行数据查询语句(select) ?uk|x!Ko]
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); b]hRmW
2)用PreparedStatement来执行sql语句 =1VY/sv
String sql; 1?E\2t&K
sql = "insert into user (id,name) values (?,?)"; 7QQ3IepP
PreparedStatement ps = cn.prepareStatement(sql); {7Dc(gNS
ps.setInt(1,xxx); _$MoMg{uJH
ps.setString(2,xxx); + #S]uC
... Kqhj=B
ResultSet rs = ps.executeQuery(); // 查询 gAv?\9=a)W
int c = ps.executeUpdate(); // 更新 'ZL)-kbI
9 I]*T
3、处理执行结果 OFQsfW3O
查询语句,返回记录集ResultSet 9
r+' o#
更新语句,返回数字,表示该更新影响的记录数 dkG-Yz~
ResultSet的方法 ,i>5\Yl%
1、next(),将游标往后移动一行,如果成功返回true;否则返回false U~Uxs\0:
2、getInt("id")或getSting("name"),返回当前游标下某个字段的值 luat1#~J
BIw9@.99B-
4、释放连接 ^~=o?VtBg
cn.close(); `.L8<