java 数据库基本操作 LMoZI0)x
1、java数据库操作基本流程 DK?aFSf\
2、几个常用的重要技巧: jyIIE7.I"
可滚动、更新的记录集 `(HD'f ud3
批量更新 phu,&DS!
事务处理 8HKv_vl
!rRBy3&
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 s*Qyd{"z
1、取得数据库连接 y-+W
1)用DriverManager取数据库连接 N0S^{j,i
例子 Vpg>K #w
String className,url,uid,pwd; t~ {O)tt
className = "oracle.jdbc.driver.OracleDriver"; i,;JI>U
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; qa^cJ1@
uid = "system"; $}su'EIo
pwd = "manager"; 0L/chP
Class.forName(className); {FFdMdxy-
Connection cn = DriverManager.getConnection(url,uid,pwd); bSw^a{~)
2)用jndi(java的命名和目录服务)方式 &'fER-
例子 pSlc (M>
String jndi = "jdbc/db"; L/jaUt[,
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); ExtC\(X;
DataSource ds = (DataSource) ctx.lookup(jndi); P0}B&B/a:
Connection cn = ds.getConnection(); .hx(9
多用于jsp中 gV.? Myy
2、执行sql语句 ^o5;><S]
1)用Statement来执行sql语句 rB".!b
String sql; w|&lRo@1
Statement sm = cn.createStatement(); i+O7," (@
sm.executeQuery(sql); // 执行数据查询语句(select) L-`V^{R]
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); lW|=rq-|
2)用PreparedStatement来执行sql语句 r&8aB85
String sql; nBk&+SN
sql = "insert into user (id,name) values (?,?)"; EF<TU.)Zf
PreparedStatement ps = cn.prepareStatement(sql); Xsa8YP9
ps.setInt(1,xxx); PyfWIU7O
ps.setString(2,xxx); Qq:}Z7
H
... Q$5t~*$`
ResultSet rs = ps.executeQuery(); // 查询 0~U%csPHt
int c = ps.executeUpdate(); // 更新 =?C <