java 数据库基本操作 w-:
D
1、java数据库操作基本流程 TN ci.']
2、几个常用的重要技巧: I7Zq}Pxa
可滚动、更新的记录集 qJMp1DC
批量更新 ` u=<c
事务处理 h.b+r~u
{Gkn_h-^
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 9p<:LZd~
1、取得数据库连接 +{ab1))/
1)用DriverManager取数据库连接 #$u ZDQY_
例子 P1QB`&8F
String className,url,uid,pwd; eCL?mh K
className = "oracle.jdbc.driver.OracleDriver"; 2{};6{yz
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; ayH>XwY6
uid = "system"; 4~WlP,,M
pwd = "manager"; jr1Se9u D
Class.forName(className); b-b;7a\N
Connection cn = DriverManager.getConnection(url,uid,pwd); }}s)
+d
2)用jndi(java的命名和目录服务)方式 &ps6s.K
例子 ro]L}oE+
String jndi = "jdbc/db"; AzX(~Qc
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); `q1}6U/k
DataSource ds = (DataSource) ctx.lookup(jndi); ?M<|r11}
Connection cn = ds.getConnection(); uN&M\(
多用于jsp中 =+Tsknq
2、执行sql语句 ~[;{
1)用Statement来执行sql语句 &|] Fg5
String sql; H2]BMkum
Statement sm = cn.createStatement(); MZi8Fo'
sm.executeQuery(sql); // 执行数据查询语句(select) bVOO)
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); PDZ)*$EE
2)用PreparedStatement来执行sql语句 <Am^z~[
String sql; -AeHY'T
sql = "insert into user (id,name) values (?,?)"; tQnJS2V"{u
PreparedStatement ps = cn.prepareStatement(sql); F\P!NSFZV
ps.setInt(1,xxx); A?V<l<EAm
ps.setString(2,xxx); faJ8zX
... Z{16S=0
ResultSet rs = ps.executeQuery(); // 查询 bl9E&B/
int c = ps.executeUpdate(); // 更新 G[B*TM6$
-9i+@%{/
3、处理执行结果 :\T_'Shq
查询语句,返回记录集ResultSet /K&