java 数据库基本操作 >o%X;U
3
1、java数据库操作基本流程 p!)PbSw#
2、几个常用的重要技巧: 6
8fnh'I!
可滚动、更新的记录集 /x]^Cqe
批量更新 &x=_n'
事务处理 F_i"v5#
#f;6Ia>#
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 t:P7ah
1、取得数据库连接 f="Zpl W
1)用DriverManager取数据库连接 E{QjmlXQ<
例子 +]GP"yv-
String className,url,uid,pwd; q2OF-.rE
className = "oracle.jdbc.driver.OracleDriver"; }}u`*&,g
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; &;WK=#
uid = "system"; lxbC 7?O
pwd = "manager"; M+^ NF\
Class.forName(className); 8zcSh/
Connection cn = DriverManager.getConnection(url,uid,pwd); f`K#=_Kq7
2)用jndi(java的命名和目录服务)方式 `:R9M+
OX
例子 I,05'edCQ
String jndi = "jdbc/db"; +uj;00 D
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); IP-M)_I
DataSource ds = (DataSource) ctx.lookup(jndi); NPFI^Uj#A
Connection cn = ds.getConnection(); N H:Bdl3
多用于jsp中 LOu9 #w"
2、执行sql语句 qT:`F
1)用Statement来执行sql语句 +?*.Emzl@
String sql; f}KV4'n
Statement sm = cn.createStatement(); Hwtoa,
sm.executeQuery(sql); // 执行数据查询语句(select) |/c-~|%
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); C-@M|K9A'
2)用PreparedStatement来执行sql语句 @[`]w`9Q7
String sql; XbeT x
sql = "insert into user (id,name) values (?,?)"; h,-i\8gq
PreparedStatement ps = cn.prepareStatement(sql); p&0 G
ps.setInt(1,xxx); .wTb/x
ps.setString(2,xxx); ;Xqi;EA
... PR AP~P&^
ResultSet rs = ps.executeQuery(); // 查询 [3ggJcUgW>
int c = ps.executeUpdate(); // 更新 qF-Fc q
*-.`Q
3、处理执行结果 ]/3!t=La
查询语句,返回记录集ResultSet s jaaZx1
更新语句,返回数字,表示该更新影响的记录数 <lU(9)
L;&
ResultSet的方法 %&lwp
1、next(),将游标往后移动一行,如果成功返回true;否则返回false QNv5CQ&
2、getInt("id")或getSting("name"),返回当前游标下某个字段的值 53.jx38xS
#6mw CA|
4、释放连接 =h?%<2t9<
cn.close(); C
OL"/3r
一般,先关闭ResultSet,然后关闭Statement(或者PreparedStatement);最后关闭Connection Fi 7~JZZ
*lu*h&Y