批量的添加、修改、删除
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; } }); } } }