java 数据库基本操作 R*[ACpxr
1、java数据库操作基本流程 NfO0^^"
2、几个常用的重要技巧: MoX*e
可滚动、更新的记录集 ZbGyl}8ua
批量更新 isd[l-wAmf
事务处理 Ka{Iue Ss
R#ZDB]2
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 Yj"UD:p
1、取得数据库连接 =[k9{cVW
1)用DriverManager取数据库连接 #YNb&K
n
例子 -Qgfo|po
String className,url,uid,pwd; hW},%
className = "oracle.jdbc.driver.OracleDriver"; m:41zoV
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; PLY7qMw
uid = "system"; S77Gc:[;8
pwd = "manager"; *m"mt
Class.forName(className); 4YCGh
Connection cn = DriverManager.getConnection(url,uid,pwd); ?eO|s5r
2)用jndi(java的命名和目录服务)方式 82=][9d #
例子 1Jd: %+T
String jndi = "jdbc/db"; RTU:J67E
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); S;c=6@"
DataSource ds = (DataSource) ctx.lookup(jndi); {l6]O
Connection cn = ds.getConnection(); )b7mzDp(
多用于jsp中 dG rA18
2、执行sql语句 ='JX_U`A^F
1)用Statement来执行sql语句 g<C})84y3
String sql; z]WT>4
Statement sm = cn.createStatement(); + mcN6/
sm.executeQuery(sql); // 执行数据查询语句(select) M`<D Z<:<
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); `Q8 D[
2)用PreparedStatement来执行sql语句 /0c&!OP
String sql; Kq?7#,_
sql = "insert into user (id,name) values (?,?)"; 4J_%quxO
PreparedStatement ps = cn.prepareStatement(sql); xn@jL;+<-
ps.setInt(1,xxx); Qh[t##I/
ps.setString(2,xxx); H xlw1(zS
... 1,QRfckks
ResultSet rs = ps.executeQuery(); // 查询 Xm4wuX"e=
int c = ps.executeUpdate(); // 更新 Mm;)O'XDE
4(&'V+o
3、处理执行结果 d;^?6V
查询语句,返回记录集ResultSet 7h<K)aT
更新语句,返回数字,表示该更新影响的记录数 l}^#kHSyd
ResultSet的方法 Yru[{h8hw`
1、next(),将游标往后移动一行,如果成功返回true;否则返回false 4TKi)0
#7
2、getInt("id")或getSting("name"),返回当前游标下某个字段的值 <