1. 程式人生 > >Java操作資料庫注意點

Java操作資料庫注意點

1addBatch批處理:

smt.addBatch(sql1);

smt.addBatch(sql2);

smt.addBatch(sql3);

smt.executeBatch();

注意:使用批處理需要注意查詢、新增、修改不能使用同一個Statement,否則會報異常:

java.sql.SQLException: 批處理中出現錯誤: batch must be either executed or cleared

批處理能同時處理insertupdate操作。

2迴圈遍歷ResultSet

當使用while(rs.next())遍歷到最後一行的時候,如果沒有重新回到第一行,下次再使用

rs會從最後一行讀取資料,會造成沒有資料可讀。

解決辦法:

st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);

while(rs.next()){

......

}

rs.beforeFirst();

3不能使用同一個Statement對兩個表進行查詢:

下面這種處理,會造成zszd_rsgwzd_rs都沒有資料。

st = conn.createStatement();

String zszd_sql = "select * from HR_ZSZD";

zszd_rs = st.executeQuery(zszd_sql);

String gwzd_sql = "SELECT * FROM HR_GWZD";

gwzd_rs = st.executeQuery(gwzd_sql);

4異常:java.sql.SQLException: 結果集已耗盡  

ResultSet原本就沒有資料。或者遍歷到結尾後,又使用ResultSet。