java 数据库基本操作 K@6`-|I
1、java数据库操作基本流程 `dO}L
2、几个常用的重要技巧: 9k}<F z"^.
可滚动、更新的记录集 :c=v}
批量更新 y^G>{?Tha
事务处理 O~6Q;q P
*0~M
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 x{Sd
P$
1、取得数据库连接 q`[K3p
1)用DriverManager取数据库连接 "XhOsMJ
例子 5DOE3T`^Oc
String className,url,uid,pwd; Af9+HI
O
className = "oracle.jdbc.driver.OracleDriver"; 6JH56
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; ]\BUoQ7I/
uid = "system"; sMm/4AY]
pwd = "manager"; 88g47>{X
Class.forName(className); rrcwtLNbu
Connection cn = DriverManager.getConnection(url,uid,pwd); %[ /<+
2)用jndi(java的命名和目录服务)方式 GRIa8>
例子 {5-zyE
String jndi = "jdbc/db"; :+:6_x
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); AW/wI6[T
DataSource ds = (DataSource) ctx.lookup(jndi); B+Z13;}B
Connection cn = ds.getConnection(); AK *N
多用于jsp中 % $TEDr!
2、执行sql语句 %2D17*eK
1)用Statement来执行sql语句 DbtF~`3, .
String sql; E:w:4[neh
Statement sm = cn.createStatement(); JKy#j g:#
sm.executeQuery(sql); // 执行数据查询语句(select) q}wj}t#
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); ] H&c'
2)用PreparedStatement来执行sql语句 _]=9#Fg7{
String sql; }lP 5GT2
sql = "insert into user (id,name) values (?,?)"; G52Z)^
PreparedStatement ps = cn.prepareStatement(sql); ZPyM>XK$4
ps.setInt(1,xxx); HH8;J66I&
ps.setString(2,xxx); 6Y7H|>g)
... hH`Jb77L
ResultSet rs = ps.executeQuery(); // 查询 nU/;2=f<
int c = ps.executeUpdate(); // 更新 >'`Sf ?+|
q (>c`5
3、处理执行结果 2+'|kt2
查询语句,返回记录集ResultSet Tn A?u (R%
更新语句,返回数字,表示该更新影响的记录数 RtC'v";6
ResultSet的方法 +O+<Go@a
1、next(),将游标往后移动一行,如果成功返回true;否则返回false Au5rR>W
2、getInt("id")或getSting("name"),返回当前游标下某个字段的值 .N"~zOV<#
tg 85:
4、释放连接 p<5!02yQ\
cn.close(); %{C)1*M7
一般,先关闭ResultSet,然后关闭Statement(或者PreparedStatement);最后关闭Connection T'1gy}
XoItV
可滚动、更新的记录集 Hm9<