java 数据库基本操作 L%.=SbmS
1、java数据库操作基本流程 YgkQF0+
2、几个常用的重要技巧: ksqb& ux6
可滚动、更新的记录集 fp"GdkO#}i
批量更新 R1:7]z0B
事务处理 )Mw 3ZE92
x=Ez hq]X
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 #@L<<Q8}
1、取得数据库连接
t`x_@pr
1)用DriverManager取数据库连接 e/IVZmUn^
例子 GS!1K(7
String className,url,uid,pwd; Uetna!ABB
className = "oracle.jdbc.driver.OracleDriver"; Sr6?^>A@t
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; bB.Yq3KI
uid = "system"; =ZARJ40L
pwd = "manager"; 3>^S6h}o
Class.forName(className); l{3ZN"`I
Connection cn = DriverManager.getConnection(url,uid,pwd); jTok1k
2)用jndi(java的命名和目录服务)方式 l @r`NFWD@
例子 ;;zd/n2b
String jndi = "jdbc/db"; rGSi
!q
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); A)f/ww)Q
DataSource ds = (DataSource) ctx.lookup(jndi); 1h?:gOig
Connection cn = ds.getConnection(); A)TO<dl
多用于jsp中 }ev+WIERQV
2、执行sql语句 ]8XIw`:f
1)用Statement来执行sql语句 zS}!87r)
String sql; aDX4}`u
Statement sm = cn.createStatement(); Qlhm:[
sm.executeQuery(sql); // 执行数据查询语句(select) Eqt>_n8
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); 2!Pwg0%2
2)用PreparedStatement来执行sql语句 2{)<Df@
String sql; V5d|Lpm
sql = "insert into user (id,name) values (?,?)"; `b[@GGv
PreparedStatement ps = cn.prepareStatement(sql); FHZQyO<|
ps.setInt(1,xxx); <Ow+LJWQK
ps.setString(2,xxx); vg[zRWh8
... 9!vimu)
ResultSet rs = ps.executeQuery(); // 查询 k%({<