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;
}
});
}
}
}
相關文章
- 資料庫-批量更新資料庫
- MySQL資料庫遷移與MySQL資料庫批量恢復MySql資料庫
- 如何批量更新資料
- pymysql批量更新資料MySql
- MySQL 批量更新、刪除資料shell指令碼MySql指令碼
- oracle批量新增更新資料Oracle
- MySQL資料更新MySql
- 通過shell指令碼批量操作mysql資料庫指令碼MySql資料庫
- SQLServer批量新增資料庫SQLServer資料庫
- Mysql批量大資料獲取MySql大資料
- mysql根據查詢結果批量更新多條資料(插入或更新)MySql
- Mysql資料庫-資料模型MySql資料庫模型
- MySQL資料庫資料管理MySql資料庫
- [資料庫]【MySQL】MySQL資料庫規範總結資料庫MySql
- 資料庫-批次更新資料庫
- MySQL:JDBC批量插入資料的效率MySqlJDBC
- 資料庫(MySQL)資料庫MySql
- MYSQL資料庫MySql資料庫
- 資料庫-MySQL資料庫MySql
- 資料庫 MySQL資料庫MySql
- mysql資料庫-資料結構MySql資料庫資料結構
- 利用MySQL原資料資訊批量轉換指定庫資料表生成Hive建表語句MySqlHive
- DataX將MySql資料庫資料同步到Oracle資料庫MySql資料庫Oracle
- Kettle:Oracle多表格批量同步資料=》mysqlOracleMySql
- flask如何更新資料庫Flask資料庫
- 寶塔資料庫恢復 mysql資料庫丟失恢復 mysql資料庫刪除庫恢復 寶塔mysql資料庫恢復資料庫MySql
- GBase 如何批量清空某資料庫中部分表的資料?資料庫
- MySQL 資料庫操作MySql資料庫
- MySQL資料庫(二)MySql資料庫
- 【6】MySQL資料庫MySql資料庫
- Mysql建立資料庫MySql資料庫
- MongoDB資料庫中更新與刪除資料MongoDB資料庫
- MySQL 如何實現資料更新MySql
- MySQL更新資料,如何使用updateMySql
- mybatis插入資料、批量插入資料MyBatis
- python資料插入連線MySQL資料庫PythonMySql資料庫
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- 【MySQL 資料庫】MySQL目錄MySql資料庫