java 数据库基本操作 PDzVXLpC
1、java数据库操作基本流程 iAbtv^fn
2、几个常用的重要技巧: }*hY#jo1
可滚动、更新的记录集 @T|mHfQ8
批量更新 ?msx
事务处理 6*/0 yGij
kf~ D m}bV
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 {(Drw~/@
1、取得数据库连接 [>oq~[e)?
1)用DriverManager取数据库连接 89U<9j
例子 P+wV.pF|
String className,url,uid,pwd; Wb68" )$
className = "oracle.jdbc.driver.OracleDriver"; uK="#1z cC
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; ~:D}L
uid = "system"; }aRV)F
pwd = "manager"; 959&I0=g"
Class.forName(className); A+69_?B
TH
Connection cn = DriverManager.getConnection(url,uid,pwd); G5 Y 8]N
2)用jndi(java的命名和目录服务)方式 mBhG"0:
例子 q!$?G]-%
String jndi = "jdbc/db"; ~}z{RE($v
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); M4XnuFGB[w
DataSource ds = (DataSource) ctx.lookup(jndi); ,Si\ky7L
Connection cn = ds.getConnection(); W> s@fN9
多用于jsp中 Y<#WC#3=
2、执行sql语句 s3W35S0Q 3
1)用Statement来执行sql语句 PBTGN;y
String sql; iXqc$!lTH
Statement sm = cn.createStatement(); 5tX|@Z:
z
sm.executeQuery(sql); // 执行数据查询语句(select) 'bN\bbR
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); l=`)yc.
2)用PreparedStatement来执行sql语句 8G?'F${`
String sql; 68kxw1xY
sql = "insert into user (id,name) values (?,?)"; !O-q13\Y
PreparedStatement ps = cn.prepareStatement(sql); Ultx|qU
ps.setInt(1,xxx); <bDjAVq
ps.setString(2,xxx); tMad
2,:
... :G?"BL5vP
ResultSet rs = ps.executeQuery(); // 查询 #)AcK|*y
int c = ps.executeUpdate(); // 更新 -P]J:7*0?\
M3Q#=yy$D$
3、处理执行结果 G9<pYt{:
查询语句,返回记录集ResultSet tY C`?HT
更新语句,返回数字,表示该更新影响的记录数
vHcB^Z
ResultSet的方法 S&Q1