java 数据库基本操作 qI
tbY%
1、java数据库操作基本流程 iCGHcN^3
2、几个常用的重要技巧: .b!HEi<F
可滚动、更新的记录集 V`i (vC(
批量更新 &uV|Ie8@q
事务处理 c=a;<,Rzb
!c0x^,iE
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 o/vD]Fs
1、取得数据库连接 pe).
1)用DriverManager取数据库连接 h+cOOm-)
例子 . S;o#Zw*R
String className,url,uid,pwd; vS:=%@c>ta
className = "oracle.jdbc.driver.OracleDriver"; '%rn-|)
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; rJtk4hOF
uid = "system"; CPY|rV
pwd = "manager"; V1,~GpNx
Class.forName(className); zP@\rZ @4
Connection cn = DriverManager.getConnection(url,uid,pwd); !wKNYe
2)用jndi(java的命名和目录服务)方式 C nD3%%
例子 ;Yg/y
String jndi = "jdbc/db"; (tT%rj!
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); Pp4Q)2X
DataSource ds = (DataSource) ctx.lookup(jndi); <iH"5DEe
Connection cn = ds.getConnection(); M?n}{0E4
多用于jsp中 (9] =;)
2、执行sql语句 s(=@J?7As
1)用Statement来执行sql语句 Iu;VFa
String sql; 1p SEr6
Statement sm = cn.createStatement(); k>E/)9%ep2
sm.executeQuery(sql); // 执行数据查询语句(select) b=L|GV@$
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); JiXN"s^mcb
2)用PreparedStatement来执行sql语句 u=#_8e(9Z
String sql; O31.\ZR2
sql = "insert into user (id,name) values (?,?)"; /
=v1.9(
PreparedStatement ps = cn.prepareStatement(sql); wNh\pWA
ps.setInt(1,xxx); 1vqc8lC
ps.setString(2,xxx); :&RpB^]
... vv`53 Pbw)
ResultSet rs = ps.executeQuery(); // 查询 =trLL+vGw'
int c = ps.executeUpdate(); // 更新 /q"8sj/
e4.G9(
3、处理执行结果 .[6T7fdi
查询语句,返回记录集ResultSet xp\6,Jyh
更新语句,返回数字,表示该更新影响的记录数 A2`Xh#o
ResultSet的方法 j<w5xY
1、next(),将游标往后移动一行,如果成功返回true;否则返回false !4$o*{9Lx:
2、getInt("id")或getSting("name"),返回当前游标下某个字段的值 7|)K!
8Urj;KkD
4、释放连接 X}&Y(kOT
cn.close(); th{Ib@o
一般,先关闭ResultSet,然后关闭Statement(或者PreparedStatement);最后关闭Connection i/,IG+4vI
QKt{XB6Y
可滚动、更新的记录集 0j' Xi_uM
1、创建可滚动、更新的Statement QGXR<