批量的添加、修改、删除
import java.sql.SQLException;
import java.util.List;
import org.springframework.orm.ibatis.SqlMapClientCallback;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;
import com.ibatis.sqlmap.client.SqlMapExecutor;
/**
* <p>批量支持</p>
*/
public class BatchSqlMapClientDaoSupport extends SqlMapClientDaoSupport {
/**
* 批量更新
* @param statementName
* @param list
*/
protected void batchUpdate(final String statementName, final List<?> list) {
if (list != null) {
this.getSqlMapClientTemplate().execute(new SqlMapClientCallback() {
@Override
public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {
executor.startBatch();
for (int i = 0, n = list.size(); i < n; i++) {
executor.update(statementName, list.get(i));
}
executor.executeBatch();
return null;
}
});
}
}
/**
* 批量新增
* @param statementName
* @param list
*/
protected void batchInsert(final String statementName, final List<?> list) {
if (list != null) {
this.getSqlMapClientTemplate().execute(new SqlMapClientCallback() {
@Override
public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {
executor.startBatch();
for (int i = 0, n = list.size(); i < n; i++) {
executor.insert(statementName, list.get(i));
}
executor.executeBatch();
return null;
}
});
}
}
/**
* 批量删除
* @param statementName
* @param list
*/
protected void batchDelete(final String statementName, final List<?> list) {
if (list != null) {
this.getSqlMapClientTemplate().execute(new SqlMapClientCallback() {
@Override
public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {
executor.startBatch();
for (int i = 0, n = list.size(); i < n; i++) {
executor.delete(statementName, list.get(i));
}
executor.executeBatch();
return null;
}
});
}
}
}