java 数据库基本操作 Cf&.hod
1、java数据库操作基本流程 6sE%] u<V
2、几个常用的重要技巧: `?M?WaP
可滚动、更新的记录集 >s*ZT%TF
批量更新 jEaU;
事务处理 "CH3\O\
9|('*
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 w^/jlddF
1、取得数据库连接 eW"L")
1)用DriverManager取数据库连接 yAyq-G"sO
例子 ?^f=7e8]
String className,url,uid,pwd; r0xmDJ@y
className = "oracle.jdbc.driver.OracleDriver"; <r`^iR)%
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; 16pk4f8
uid = "system"; cUB+fH<B2
pwd = "manager"; *{K?JB#W
Class.forName(className); lPBWpHX
Connection cn = DriverManager.getConnection(url,uid,pwd); "bhF`,V
2)用jndi(java的命名和目录服务)方式 $27QY
例子 cM|!jnKm
String jndi = "jdbc/db"; p$S\l] ,
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); 'c6t,%
DataSource ds = (DataSource) ctx.lookup(jndi); s+omCr|H;A
Connection cn = ds.getConnection(); 8*$HS.Db'
多用于jsp中 m,3H]
2、执行sql语句 wR(>'?
1)用Statement来执行sql语句 k1h>8z.Tg
String sql; 5w^6bw){
Statement sm = cn.createStatement(); KFuPgp
sm.executeQuery(sql); // 执行数据查询语句(select) m ?)k&{I
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); &[Zg;r
2)用PreparedStatement来执行sql语句 Ow3t2G
String sql; }M0GPpv
sql = "insert into user (id,name) values (?,?)"; 1x'H#
PreparedStatement ps = cn.prepareStatement(sql); +m>)q4e
ps.setInt(1,xxx); 9CNeMoA$p:
ps.setString(2,xxx); [t}@>@W|
... ]iq2_{q
ResultSet rs = ps.executeQuery(); // 查询 ,qz:( Nr
int c = ps.executeUpdate(); // 更新 uH.1'bR?a
j=U^+jAn
3、处理执行结果 rm5@dM@
查询语句,返回记录集ResultSet <