版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011955252/article/details/83037999
//批量插入
public void batchInsert(List<UserDo> list) {
this.getSqlMapClientTemplate().execute(new SqlMapClientCallback() {
public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {
executor.startBatch();
for (UserDo parameterObject : list) {
executor.insert("MS-INSERT", parameterObject);
}
executor.executeBatch();
return null;
}
});
}
public void batchInsertUserDoList(List<String> userNameList) {
this.getSqlMapClientTemplate().execute(new SqlMapClientCallback() {
public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {
executor.startBatch();
for (String str : userNameList) {
UserDo userDo = new UserDo();
userDo.setUserName(str);
executor.insert("MS-INSERT"", userDo);
}
executor.executeBatch();
return null;
}
});
}
MS-INSERT 表示单条插入
/**
* 批量更新
*/
@Override
public void batchUpdate(List<UserDo> list) {
this.getSqlMapClientTemplate().execute(new SqlMapClientCallback() {
public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {
executor.startBatch();
for (UserDo parameterObject : list) {
executor.update("MS-UPDATE", parameterObject);
}
executor.executeBatch();
return null;
}
});
}
MS-UPDATE 表示单条更新的sql
public void batchDeleteUserList(List<String> ids) {
this.getSqlMapClientTemplate().execute(new SqlMapClientCallback() {
public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {
executor.startBatch();
for (String str : ids) {
Map param = new HashMap();
param.put("id", str);
executor.delete("MS-DELETE", param);
}
executor.executeBatch();
return null;
}
});
}
MS-DELET 表示单条删除
如何在业务层使用,需要是spring 的事务中使用
TransactionTemplate.execute(new TransactionCallback<String>() {
@Override
public String doInTransaction(TransactionStatus status) {
批量代码调用
}
}