Ibatis的批量操作和事务管理。

转自:http://zhidao.baidu.com/link?url=_lvbPYhLUGyZxfIswK6qqAiDa8jeTZ0mOVJoef9e8fadMw9yCRlBp8HT3ZDLyEomxTm-z5W_yn4NE_ZBjLjpN_

你用的应该是ibatis,这里是批量删除,相当于把一堆操作用一个事务来提交,提高数据库性能。
//函数功能,删除list中的所有元素在数据库中的记录。
protected void batchDelete(List<?> lst, String statement)
    throws SQLException
  {
    getSqlMapClient().startBatch();//开始批量操作
  //遍历list
    for (Iterator localIterator = lst.iterator(); localIterator.hasNext(); ) 
    { 
      Object obj = localIterator.next();
      getSqlMapClient().delete(statement, obj);//statement表示你调用的删除方法,在xml文件中定义的。
    }
    getSqlMapClient().executeBatch();//结束批量操作
  }

再如:

public void deleteList(List modelList, Class<? extends PersistentObject> clazz) throws ApplicationException {
if(modelList == null || modelList.size() == 0){
throw new ApplicationException("对象不能为空");
}
String sqlMapId = clazz.getSimpleName()+"_base_insert";
//启动批量操作
try {
IbatisHelper.getSqlMapClient().startBatch();
for(int i=0; i<modelList.size(); i++){
IbatisHelper.getIBaseDao().delete(sqlMapId, modelList.get(i));
}
//执行批量操作
IbatisHelper.getSqlMapClient().executeBatch();
} catch (SQLException e) {
throw new ApplicationException("删除失败", e);
}

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值