java 数据库基本操作 kQYX[e7n
1、java数据库操作基本流程 2r1.,1
2、几个常用的重要技巧: s:Memvf
可滚动、更新的记录集 N5g!,3
批量更新 0{ \AP<
事务处理 Q|;8\5
iLgWzA
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 Yw./V0Z{@
1、取得数据库连接 pwm]2}+
1)用DriverManager取数据库连接 Xbfn@7m
例子 EKgTRRW
String className,url,uid,pwd; HogT#BMs
className = "oracle.jdbc.driver.OracleDriver"; 1}'|HAu
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; 3]V"9+
uid = "system"; Uc6P@O*,
pwd = "manager"; <zrGPwk
Class.forName(className); Qq>M}
Connection cn = DriverManager.getConnection(url,uid,pwd); hH%@8'1v
2)用jndi(java的命名和目录服务)方式 2jA-y!(e
例子 JEj.D=@[
String jndi = "jdbc/db"; iEnDS@7
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); m&fm<?|
DataSource ds = (DataSource) ctx.lookup(jndi); U"/":w ~
Connection cn = ds.getConnection(); >8EIm
多用于jsp中 yw2sK7
2、执行sql语句 Yf<6[(6 O
1)用Statement来执行sql语句 lLl^2[4k5
String sql; 8M!If
Statement sm = cn.createStatement(); NKh 8'=S
sm.executeQuery(sql); // 执行数据查询语句(select) U@DIO/C,m`
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); H htAD Y
2)用PreparedStatement来执行sql语句 %I?uO(
@
String sql; :H3qa2p
sql = "insert into user (id,name) values (?,?)"; @=:( b"Sg
PreparedStatement ps = cn.prepareStatement(sql); V
D-,)f
ps.setInt(1,xxx); [$f
ps.setString(2,xxx); Bh<)e5lP:
... 6/ F]ncwG
ResultSet rs = ps.executeQuery(); // 查询 aNw8][
int c = ps.executeUpdate(); // 更新 Y=\;$:L[
jgbE@IA@!'
3、处理执行结果 cjp
H
hoW
查询语句,返回记录集ResultSet n-0RA~5z
更新语句,返回数字,表示该更新影响的记录数 Q`'w)aV
ResultSet的方法 g"^<LX-
1、next(),将游标往后移动一行,如果成功返回true;否则返回false 6Xbo:#
2、getInt("id")或getSting("name"),返回当前游标下某个字段的值 $SA8$!:
8Y_wS&eB
4、释放连接 HvLvSy1U
cn.close(); Xb.WI\Eh
一般,先关闭ResultSet,然后关闭Statement(或者PreparedStatement);最后关闭Connection w7s+6,
xmsw'\
可滚动、更新的记录集 hv2@}<