java 数据库基本操作 M\5aJ:cQ+
1、java数据库操作基本流程 ?f!w:zp
2、几个常用的重要技巧: |^jl^oW
可滚动、更新的记录集 ZdbZ^DUR<(
批量更新 ~"eos~AuW
事务处理 o*OYZ/_L
h3rdqx1
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接
pv<$
o
1、取得数据库连接 I}JC ~=`j
1)用DriverManager取数据库连接 u0M[B7Q
例子 po@=$HK
String className,url,uid,pwd; <SeK3@Gi
className = "oracle.jdbc.driver.OracleDriver"; G gmv(!
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; aewVq@ngq!
uid = "system"; KF^5 C
pwd = "manager"; K=|x"6\
Class.forName(className); c#'t][Ii
Connection cn = DriverManager.getConnection(url,uid,pwd); Rlc$2y@pU
2)用jndi(java的命名和目录服务)方式 0XV8B
例子 ,l-tLc
String jndi = "jdbc/db"; &AR@5M u
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); ];& @T\Rj
DataSource ds = (DataSource) ctx.lookup(jndi); 'Rbv3U
Connection cn = ds.getConnection(); &''lOS|
多用于jsp中 sPMCN's
2、执行sql语句 o6L eC*
1)用Statement来执行sql语句 ykFm$ 0m+I
String sql; ;Fw{p{7<
Statement sm = cn.createStatement(); W Z'UVUi8
sm.executeQuery(sql); // 执行数据查询语句(select) MrXmX[1-
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); )+;Xfftz
2)用PreparedStatement来执行sql语句 jK`b6:#(,
String sql; wrw4Uxq
sql = "insert into user (id,name) values (?,?)"; hSQ*_#
PreparedStatement ps = cn.prepareStatement(sql); -/ 5" Py
ps.setInt(1,xxx); )b^yAzL?
ps.setString(2,xxx); fTb&k;'LR<
... CUIFKM
ResultSet rs = ps.executeQuery(); // 查询 NDsF<2A4
int c = ps.executeUpdate(); // 更新 (jj=CLe
H@ab]&
3、处理执行结果 U^aMh-
查询语句,返回记录集ResultSet {D6lSj
更新语句,返回数字,表示该更新影响的记录数 -U&k%X
ResultSet的方法 a=m4)tjk
1、next(),将游标往后移动一行,如果成功返回true;否则返回false yU ?TdM\
2、getInt("id")或getSting("name"),返回当前游标下某个字段的值 Tj0qq .
A7U]wW9
4、释放连接 7$"{&