05-JDBC学习手册:JDBC2.0 新特性之批量处理数据
生活随笔
收集整理的這篇文章主要介紹了
05-JDBC学习手册:JDBC2.0 新特性之批量处理数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 Scrollability 結果集可滾動
滾動:可雙向支持絕對與相對滾動,對結果集可進行多次迭代。
Con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);TYPE_FORWARD_ONLY:
該常量指示指針只能向前移動的 ResultSet 對象的類型。
TYPE_SCROLL_SENSITIVE:
該常量指示可滾動并且通常受其他的更改影響的 ResultSet 對象的類型。
CONCUR_UPDATABLE:
該常量指示可以更新的 ResultSet 對象的并發模式。
絕對定位
boolean absolute(int row)將游標移動到指定位置。相對定位
void afterLast()將游標向后移動一位。 void beforeFirst()。將游標向前移動一位。 boolean first()將游標移動到結果集最前 boolean last()將游標移動到結果集末尾。2 Updatability 結果集可更新
更新
//定位到要更新的記錄 rs.absolute(int row); //更新該行記錄的信息 rs.updateString(“name”,”Tony”); rs.updateInt(1,”122323”); //更新底層數據 rs.updateRow();插入
//把指針移動到可插入的行 rs.moveToInsertRow(); // 更新該行記錄的信息 rs.updateInt(1,113); rs.updateString(2, "test2"); rs.updateDate(3,Date.valueOf("1999-9-9")); rs.updateFloat(4,80.5f); // 插入數據 rs.insertRow(); rs.moveToCurrentRow();刪除
// 定位到要刪除的記錄 Rs.absolute( int row); // 刪除該行記錄 rs.deleteRow();注:只有在必要的時候(如桌面應用)才用結果集更新數據庫,因為使用結果集更新數據庫效率低下??筛陆Y果集還要看數據庫驅動程序是否支持,如 Oracle就支持 MySql 不支持。并且只能針對一張表做結果集更新。而且不能有 join 操作。必須有主健,必須把非空沒有默認值的字段查出。處理可更新結果集時不能用 select *來執行查詢語句,必須指出具體要查詢的字段。
3 Batch updates 可批量更新
將一組對數據庫的更新操作發送到數據庫統一執行(數據庫支持并發執行操作),以提高效率。主要是通過減少數據(Sql 語句或參數)在網絡上傳輸的次數來節省時間。
(1)對于 Statement 的批量更新處理
stm.addBatch(Sql); stm.addBatch(Sql); int[] results=stm.executeBatch();(2)對于 PreparedStatement 的批量跟新處理
pstm.setInt(1,11);pstm.setString(2,”haha”);…….. pstm.addBatch() pstm.setInt(1,12);pstm.setString(2,”gaga”);…….. pstm.addBatch() int[] results=stm.executeBatch();注:
int[] 中每一個數表示該 Sql 語句影響到的記錄條數。 PreparedStatement 的更新操作比 Statement 的更新操作多了一個設置參數的過程。總結
以上是生活随笔為你收集整理的05-JDBC学习手册:JDBC2.0 新特性之批量处理数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 04-JDBC学习手册:JDBC中使用t
- 下一篇: 13-MySQL面向对象设计:数据表与J