java 数据库基本操作 :o2^?k8k
1、java数据库操作基本流程 @)R6!"p
2、几个常用的重要技巧: K3CTxU(
可滚动、更新的记录集 ?zS
t
批量更新 dg(fD>+
事务处理 Syf0dp3
&5x
]9
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 -pF3q2zb
1、取得数据库连接 $ts%SDM
1)用DriverManager取数据库连接 RyAss0Sm^
例子 K6 {0`'x
String className,url,uid,pwd; y4^w8'%MC
className = "oracle.jdbc.driver.OracleDriver"; \G+uK:PC,
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; +nLsiC{&
uid = "system"; RhL!Zz
pwd = "manager"; Vm3e6Y,K
Class.forName(className); c:$W5j('Z
Connection cn = DriverManager.getConnection(url,uid,pwd); `S&$y4|Vs
2)用jndi(java的命名和目录服务)方式 |Z"5zL10
例子 <`rl[C{
String jndi = "jdbc/db"; CO)BF%?B
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); L\`uD[g
DataSource ds = (DataSource) ctx.lookup(jndi); XBTtfl
&
Connection cn = ds.getConnection(); sz7|2OV"
多用于jsp中 iJ7?6)\
2、执行sql语句 +A=*C
1)用Statement来执行sql语句 .b3cn
String sql; v ?9
Statement sm = cn.createStatement(); e>FK5rz
sm.executeQuery(sql); // 执行数据查询语句(select) UNc[h&@_
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); H&yK{0H
2)用PreparedStatement来执行sql语句 SLj2/B0
String sql; 2V-zmyJs5
sql = "insert into user (id,name) values (?,?)"; zG[GyyAQ
PreparedStatement ps = cn.prepareStatement(sql); vv9=g*"j
ps.setInt(1,xxx); =Nc}XFq
ps.setString(2,xxx); O<:"Irq\qr
... [|:kS
ResultSet rs = ps.executeQuery(); // 查询 *j`{ K
int c = ps.executeUpdate(); // 更新 @~Uu]1
qMHI-h_A
3、处理执行结果 XAnN<
查询语句,返回记录集ResultSet A.D@21py
更新语句,返回数字,表示该更新影响的记录数 e2P
ds`
ResultSet的方法 H7I&Ky
1、next(),将游标往后移动一行,如果成功返回true;否则返回false @$e!|.{1q
2、getInt("id")或getSting("name"),返回当前游标下某个字段的值 szDd!(&pv
RKt#2%FFO
4、释放连接 3T<aGW1
cn.close(); RV&