Ibatis批量更新資料(mysql資料庫)
最近遇到需要批量update資料的問題,一開始用了一個for迴圈去update,資料量大的時候效率很低。原因是for迴圈每次update一條語句,都是一次連線過程。遇到大批資料更新的時候,效率就可想而知了。
1、xml
<update id="updateList" parameterClass="student(類的全限定名稱的別名)">
UPDATE student
SET
student_name = #studentName#
,student_age = #studentAge#
,update_by = #updateBy#
,update_time = NOW()
WHERE id= #id#
</update>
2、dao介面及其實現類,這裡將dao介面省略,只寫實現類
import org.springframework.orm.ibatis.SqlMapClientTemplate;
import java.sql.SQLException;
import java.util.List;
import org.springframework.orm.ibatis.SqlMapClientCallback;
import com.ibatis.sqlmap.client.SqlMapExecutor;
public class StudentDaoImpl {
protected SqlMapClientTemplate sqlMapClient;
public void setSqlMapClient(SqlMapClientTemplate sqlMapClient) {
this.sqlMapClient = sqlMapClient;
}
public void updateList(final List<Student> list) throws SQLException {
if(list != null) {
sqlMapClient.execute(new SqlMapClientCallback() {
public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {
executor.startBatch();
for(int i=0;i<list.size();i++) {
executor.update("student.updateList", list.get(i));
}
executor.executeBatch();
return null;
}
});
}
}
}
相關文章
- ibatis對oracle資料庫的批量更新和批量插入的操作BATOracle資料庫
- 資料庫-批量更新資料庫
- MySQL資料庫遷移與MySQL資料庫批量恢復MySql資料庫
- 如何批量更新資料
- pymysql批量更新資料MySql
- MySQL資料庫工具類之——DataTable批量加入MySQL資料庫(Net版)MySql資料庫
- MySQL 批量更新、刪除資料shell指令碼MySql指令碼
- oracle批量新增更新資料Oracle
- MySQL NDB 批量更新100萬行資料MySql
- 海量資料處理_批量更新
- 批量修改Mysql資料庫表Innodb為MyISANMySql資料庫
- MySQL資料更新MySql
- 批量刪除Oracle資料庫的資料Oracle資料庫
- SQLServer批量新增資料庫SQLServer資料庫
- 動態更新資料庫指令碼——Mysql資料庫指令碼MySql
- 通過shell指令碼批量操作mysql資料庫指令碼MySql資料庫
- 【資料庫】mysql資料庫索引資料庫MySql索引
- Mysql批量大資料獲取MySql大資料
- mysql根據查詢結果批量更新多條資料(插入或更新)MySql
- 批量更新SQL Server資料庫的使用者檢視SQLServer資料庫
- 【MySql】mysql 資料庫資料訂正MySql資料庫
- MySQL資料庫資料管理MySql資料庫
- Mysql資料庫-資料模型MySql資料庫模型
- 批量更新資料方法比較測試
- 資料庫-批次更新資料庫
- 資料庫死鎖導致分佈事務中大批量更新資料庫不成功資料庫
- python運算元據庫,批量插入資料庫資料Python資料庫
- [資料庫]【MySQL】MySQL資料庫規範總結資料庫MySql
- MySQL:JDBC批量插入資料的效率MySqlJDBC
- MySQL 批量匯入資料優化MySql優化
- Mysql高效插入/更新資料MySql
- 資料庫(MySQL)資料庫MySql
- 資料庫-MySQL資料庫MySql
- 資料庫 MySQL資料庫MySql
- MYSQL資料庫MySql資料庫
- mysql資料庫-資料結構MySql資料庫資料結構
- 自動更新資料庫資料的shell資料庫
- DataX將MySql資料庫資料同步到Oracle資料庫MySql資料庫Oracle