java 数据库基本操作 7tgFDLA
1、java数据库操作基本流程 hD
q2-X}
2、几个常用的重要技巧: .X'<
D*
可滚动、更新的记录集 ((|IS[
批量更新 O
k7zpq
事务处理 ZJ(rG((!
os$nL'sq
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 O?ktWHUx
1、取得数据库连接 =& -[TPW
1)用DriverManager取数据库连接 OOB^gf}$'
例子 zZ=$O-&%
String className,url,uid,pwd; YH\j@^n
className = "oracle.jdbc.driver.OracleDriver"; |pW\Ec#(
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; jPk
c3dG
+
uid = "system"; vZkXt!%)
pwd = "manager"; |nY~ZVTt/
Class.forName(className); &U"X$aFc
Connection cn = DriverManager.getConnection(url,uid,pwd); Np2ci~"<.
2)用jndi(java的命名和目录服务)方式 N:x0w+Ca
例子 EGS%C%>l/o
String jndi = "jdbc/db"; = .`jjDJ
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); J`oTes,
DataSource ds = (DataSource) ctx.lookup(jndi); }U[-44r:
Connection cn = ds.getConnection(); 9y^/GwUQ
多用于jsp中 6E|S
2、执行sql语句 *)> do
L
1)用Statement来执行sql语句 o| D^`Z
String sql; <I2z&
Statement sm = cn.createStatement(); <>=mCZ2
sm.executeQuery(sql); // 执行数据查询语句(select) ]V<-J
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); {/}^D-
2)用PreparedStatement来执行sql语句 B~TN/sd
String sql; @6&JR<g*t
sql = "insert into user (id,name) values (?,?)"; ;h~er6&
PreparedStatement ps = cn.prepareStatement(sql); V1<`%=%_W
ps.setInt(1,xxx); +a$|Sc
ps.setString(2,xxx); X:=c5*0e
... 2o5;Uz1{
ResultSet rs = ps.executeQuery(); // 查询 }1 QF+Cf
int c = ps.executeUpdate(); // 更新 )q3"t2-
v01#>,R
3、处理执行结果 Q$a
查询语句,返回记录集ResultSet ^8K/xo-
更新语句,返回数字,表示该更新影响的记录数 H+l,)Se
ResultSet的方法 B?6QMC;
1、next(),将游标往后移动一行,如果成功返回true;否则返回false iiNSDc
2、getInt("id")或getSting("name"),返回当前游标下某个字段的值 `.^ |]|u
u) *Kws
4、释放连接 WRpyr
cn.close(); eVt1d2.O
一般,先关闭ResultSet,然后关闭Statement(或者PreparedStatement);最后关闭Connection ?CY1]d
x(~<