java 数据库基本操作 "$->nC.
1、java数据库操作基本流程 0W92Z@_GY
2、几个常用的重要技巧: WIe7>wkC
可滚动、更新的记录集 cBZKt
批量更新 4GA9oLl
事务处理 x)Y?kVw21"
iP7
Cku}l
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 5s=ZA*(sY
1、取得数据库连接 CFm(
yFk
1)用DriverManager取数据库连接 NUlp4i~Q
例子 D5o[z:V7"
String className,url,uid,pwd; S>-x<'Os
className = "oracle.jdbc.driver.OracleDriver"; i++a^f
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; $pV:)N4
uid = "system"; YP^=b}
pwd = "manager"; 2
L>;M
Class.forName(className); n(i Uc1Y
Connection cn = DriverManager.getConnection(url,uid,pwd); q c(R
/[
2)用jndi(java的命名和目录服务)方式 C 2f=9n/
例子 qO;.{f
String jndi = "jdbc/db"; aC\O'KcH
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); 9g7d:zG
DataSource ds = (DataSource) ctx.lookup(jndi); f<14-R=
Connection cn = ds.getConnection(); g*]hmkYe9
多用于jsp中 B3+9G,or
2、执行sql语句 [y(DtOR
1)用Statement来执行sql语句 -8HK_eQn
String sql; aG"j9A~ &
Statement sm = cn.createStatement(); (i1JDe
sm.executeQuery(sql); // 执行数据查询语句(select) 1JRM@ !x
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); rq>}]
U
2)用PreparedStatement来执行sql语句 `!`g&:Y
String sql; 7L%JCH#F
sql = "insert into user (id,name) values (?,?)"; wzXIEWJ
PreparedStatement ps = cn.prepareStatement(sql); z\d{A7
ps.setInt(1,xxx); ;6 ?a8t@
ps.setString(2,xxx); $?_/`S13
... IhIz 7.|
ResultSet rs = ps.executeQuery(); // 查询 %DK0s(*w0
int c = ps.executeUpdate(); // 更新 zBQV2.@
wMW."gM|
3、处理执行结果 RP@U0o
查询语句,返回记录集ResultSet 1zGD~[M
更新语句,返回数字,表示该更新影响的记录数 O$qxo
&
ResultSet的方法 &kR*J<)V
1、next(),将游标往后移动一行,如果成功返回true;否则返回false j*.K|77WHj
2、getInt("id")或getSting("name"),返回当前游标下某个字段的值 Z<wJ!|f
2)~`.CD?L
4、释放连接 <