java 数据库基本操作 rtOXK4)]I
1、java数据库操作基本流程 Ix}:!L
2、几个常用的重要技巧: b,s T[!X[
可滚动、更新的记录集 %rYd=Ri
批量更新 `,xKK+~YG-
事务处理 M[SWMVN{
0kmZO"K#e
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 'sJYt^
1、取得数据库连接 "/wZt c
1)用DriverManager取数据库连接 hMDy;oQ
例子 oKzLt
String className,url,uid,pwd; b^rPw@
className = "oracle.jdbc.driver.OracleDriver"; _%Jqyc"-
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; I>:M1Yc0
uid = "system"; *;Sj&O
pwd = "manager"; b1_HDC(
Class.forName(className); *_@8 v?
Connection cn = DriverManager.getConnection(url,uid,pwd); _},u[+
2)用jndi(java的命名和目录服务)方式 .h{`e>d
例子 `N$<]i]s5
String jndi = "jdbc/db"; gLU #\d]
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); 9z,V]v=
DataSource ds = (DataSource) ctx.lookup(jndi); .%.J Q
Connection cn = ds.getConnection(); >/GVlXA'
多用于jsp中 { "=d7i
2、执行sql语句 !@5B:n*
1)用Statement来执行sql语句 EE-jU<>|
String sql; fsb_*sh&
Statement sm = cn.createStatement(); aNw8][
sm.executeQuery(sql); // 执行数据查询语句(select) qauk,t
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); # sm>;+J
2)用PreparedStatement来执行sql语句 QF
Vy2 q
String sql; r,a V11{
sql = "insert into user (id,name) values (?,?)"; X)x$h{ OE
PreparedStatement ps = cn.prepareStatement(sql); HOBM?|37CU
ps.setInt(1,xxx); F^z&s]^~
ps.setString(2,xxx); ^pIT,|myY7
... Xb.WI\Eh
ResultSet rs = ps.executeQuery(); // 查询 w7s+6,
int c = ps.executeUpdate(); // 更新 xmsw'\
hv2@}<