由於資料的批量處理(比如往rdbms插入幾萬條資料)非常耗資源,因此建議在所有場合能夠借助於jdbc完成,而不要去採用hibernate api。本文主要圍繞spring內建的各類jdbc api抽象支援展開的。
1.1. jdbctemplate內建的batchupdate(final string sql)
這一方法適合於小批量資料的cud(增、更新、刪除)操作,而且sql型別不限。由於其內部使用了statement語句,所以資料的操作效率一般。
1.2. jdbctemplate內建的batchupdate(string sql, final batchpreparedstatementsetter pss)
這一方法也僅僅適合於小批量資料的cud(增、更新、刪除)操作,但始終是同一sql(引數具有多樣性)。由於其內部使用了preparedstatement語句,所以資料的操作效率還是不錯的。下面給出了操作示例:
final int no = new int;
jt.batchupdate("update emp set sal = ? where empno = ?",
new batchpreparedstatementsetter()
public int getbatchsize()
});
1.3. batchsqlupdate
這一方法適合於各種批量資料的cud(增、更新、刪除)操作,但始終是同一sql(引數具有多樣性)。由於其內部使用了preparedstatement語句,所以資料的操作效率還是不錯的。下面給出了操作示例:
datasource ds = gbfa.getbean("datasource");
final int no = new int;
batchsqlupdate bsu = new batchsqlupdate(ds, "update emp set sal=? where empno = ?");
bsu.setbatchsize(4);
bsu.settypes(new int);
for(int i = 0; i < no.length; ++i))) ;
}
bsu.flush();
同jdbctemplate內建的batchupdate(string sql, final batchpreparedstatementsetter pss)相比,batchsqlupdate會自動分批待批量處理的資料。比如,如果需要批量操作10萬條資料,則可以控制其batchsize,從而在時間(rdbms可知性)和空間(記憶體)上達到平衡。
務必注意,在使用batchsqlupdate的最後,不要忘記手工呼叫其暴露的flush()方法。
JdbcTemplate資料批量刪除
由於資料的批量處理 比如往rdbms插入幾萬條資料 非常耗資源,因此建議在所有場合能夠借助於jdbc完成,而不要去採用hibernate api。本文主要圍繞spring內建的各類jdbc api抽象支援展開的。1.1.jdbctemplate內建的batchupdate final string ...
JdbcTemplate資料批量刪除
由於資料的批量處理 比如往rdbms插入幾萬條資料 非常耗資源,因此建議在所有場合能夠借助於jdbc完成,而不要去採用hibernate api。本文主要圍繞spring內建的各類jdbc api抽象支援展開的。1.1.jdbctemplate內建的batchupdate final string ...
資料庫之JDBCTemplate
spring框架對jdbc的簡單封裝,提供了乙個jdbctemplate物件簡化jdbc 開發 步驟 匯入jar包 建立jdbctemplate物件,依賴於資料來源 ds jdbctemplate template new jdbctemplate ds 呼叫jdbctempalte中的方法來完成c...