java 数据库基本操作 L^JU{\C
1、java数据库操作基本流程 L]=]/>jQ6
2、几个常用的重要技巧: 1aAOT6h
可滚动、更新的记录集 ~O}r<PQ
批量更新 D_l$"35?
事务处理 zDvV%+RW)
$MR1
*_\V
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 pr<u
5
1、取得数据库连接 7h\is
1)用DriverManager取数据库连接 "Hw%@]#
例子 RdX+:!lD
String className,url,uid,pwd; tK3$,9+
className = "oracle.jdbc.driver.OracleDriver"; > "hP
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; Ti? "Hr<W
uid = "system"; m6i ,xn
pwd = "manager"; Qsbyy>o)
Class.forName(className); QNbZ)
Connection cn = DriverManager.getConnection(url,uid,pwd); Nw"df=,{
2)用jndi(java的命名和目录服务)方式 ;P S4@,
例子 #(tdJ<HvC|
String jndi = "jdbc/db"; sPNm.W$_
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); 1UMEbb
DataSource ds = (DataSource) ctx.lookup(jndi); \'2rs152
Connection cn = ds.getConnection(); {,Z|8@Sl%
多用于jsp中 y3efie {J
2、执行sql语句 OLx;j+p
1)用Statement来执行sql语句 }ILBX4c
String sql; 2hHRitt36
Statement sm = cn.createStatement();
I bD
u+~)
sm.executeQuery(sql); // 执行数据查询语句(select) tR!C8:u
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); |>ztx}\
2)用PreparedStatement来执行sql语句 )<QX2~m<
String sql; ~>@~U]
sql = "insert into user (id,name) values (?,?)"; -8)Hulo/{U
PreparedStatement ps = cn.prepareStatement(sql); ef'kG"1
ps.setInt(1,xxx); [[[C`H@
ps.setString(2,xxx); 2bCfY\k
... hJSvx
ResultSet rs = ps.executeQuery(); // 查询 .i;.5)shsu
int c = ps.executeUpdate(); // 更新 z?DCQ
&k'<