java 数据库基本操作 cMK6
1、java数据库操作基本流程 Aoa0czC~
2、几个常用的重要技巧: Y|B/(
可滚动、更新的记录集 .v;2Q7X
批量更新 DB>>U>H-
事务处理 eh)J'G]G
&V$'{
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 Yq5}r?N
1、取得数据库连接 c#{<|
.
1)用DriverManager取数据库连接 1/1P;8F@G
例子 uVisU%p
String className,url,uid,pwd; 4r5,kOFWb
className = "oracle.jdbc.driver.OracleDriver"; K90Zf
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; ~r=TVHjqi
uid = "system"; *xLMs(gg
pwd = "manager"; J`"1DlH
Class.forName(className); ;=uHK'{
Connection cn = DriverManager.getConnection(url,uid,pwd); -@J;FjrXmP
2)用jndi(java的命名和目录服务)方式 7r}gS2d
例子 KE5f`h
String jndi = "jdbc/db"; ?58pkg J
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); v3]q2*`G#
DataSource ds = (DataSource) ctx.lookup(jndi); 0!(Ii@m=N
Connection cn = ds.getConnection(); xX"?3%y>
多用于jsp中 Ogjjjy84vM
2、执行sql语句 \sRRLDj%
1)用Statement来执行sql语句 #Q$4EQB
String sql; ^k-H$]
Statement sm = cn.createStatement(); T>?sPq
sm.executeQuery(sql); // 执行数据查询语句(select) }.T$bj1B;V
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); _fa]2I
2)用PreparedStatement来执行sql语句 `_v-Y`Z
String sql; Js=|r;'
sql = "insert into user (id,name) values (?,?)"; z1V 0WDVm
PreparedStatement ps = cn.prepareStatement(sql); wh~~g
qi9
ps.setInt(1,xxx); :Z< 5iLq
ps.setString(2,xxx); JL(*peeu3
... (U7%Z<
ResultSet rs = ps.executeQuery(); // 查询 L;z-,U$;%R
int c = ps.executeUpdate(); // 更新 a.]
!
(bT\HW%m
3、处理执行结果 T`W FY
查询语句,返回记录集ResultSet 0kiW629o
更新语句,返回数字,表示该更新影响的记录数 k|
jCc
ResultSet的方法 PN.=])7T
1、next(),将游标往后移动一行,如果成功返回true;否则返回false A: @=?(lI3
2、getInt("id")或getSting("name"),返回当前游标下某个字段的值 fqZ!Bi
J'7){C"G$
4、释放连接 PGw"\-F
cn.close(); +T4<