java 数据库基本操作 [ ?%q,>F
1、java数据库操作基本流程 TZ *>MySiF
2、几个常用的重要技巧: p8Z?R^$9H
可滚动、更新的记录集 m??Py"1y
批量更新 Nv=78O1
事务处理 2ah%,o
i.k7qclL`
java数据库操作基本流程:取得数据库连接 - 执行sql语句 - 处理执行结果 - 释放数据库连接 4-~Z{#-
1、取得数据库连接 eU\xOTl~<{
1)用DriverManager取数据库连接 Kci. ,I
例子 />Q}0Hg
String className,url,uid,pwd; |lt]9>|
className = "oracle.jdbc.driver.OracleDriver"; {j=`
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr; yQuL[#p
uid = "system"; [Ur\^wS
pwd = "manager"; s$).Z(6
Class.forName(className); Fvf|m7
Connection cn = DriverManager.getConnection(url,uid,pwd); |>yWkq
2)用jndi(java的命名和目录服务)方式 m8ts!6C
例子 MB!9tju
String jndi = "jdbc/db"; #l ZK_N|1x
Context ctx = (Context) new InitialContext().lookup("java:comp/env"); t%;w<1E
DataSource ds = (DataSource) ctx.lookup(jndi); l|=4FIMD
Connection cn = ds.getConnection(); p}^5ru
多用于jsp中 T]\c2U
2、执行sql语句 #8|LPfA
1)用Statement来执行sql语句 ; h\T7pwwb
String sql; qT48Y
Statement sm = cn.createStatement(); 6$6QAW0+f
sm.executeQuery(sql); // 执行数据查询语句(select) ]QhTxrF"
sm.executeUpdate(sql); // 执行数据更新语句(delete、update、insert、drop等)statement.close(); PD)"od
2)用PreparedStatement来执行sql语句 [ n7>g
String sql; F}5d>nw
sql = "insert into user (id,name) values (?,?)"; U}LW8886
PreparedStatement ps = cn.prepareStatement(sql); %WgN+A0
ps.setInt(1,xxx); Gq^vto
ps.setString(2,xxx); f<NR6],}
... <.Ws; HN}
ResultSet rs = ps.executeQuery(); // 查询 >>
zd
int c = ps.executeUpdate(); // 更新 yd).}@
nN\H'{Wzd
3、处理执行结果 5J10S
查询语句,返回记录集ResultSet M2O_kOeZ
更新语句,返回数字,表示该更新影响的记录数 #;$]M4
ResultSet的方法 :DD<0
1、next(),将游标往后移动一行,如果成功返回true;否则返回false 3Q=^&o