转自:http://dacoolbaby.iteye.com/blog/1872279
一般事务层都是由Spring AOP进行管理的。
但是遇到一些特殊的insert需要批量处理。这里我们就会用到iBatis的事务功能。
贴一下代码,注意,顺序不能搞错。搞错了就会报错!!
- try {
- this.getSqlMapClient().startTransaction();
- this.getSqlMapClient().startBatch();
- for (int i = 0; i < mapList.size(); i++) {
- Map map = (Map) mapList.get(i);
- // 先删除该年份、服务、部门、组已设置该MTS层级的人力数,再新增
- this.getSqlMapClient().delete(
- "delete_pri_itmis_serv_year_dept_team_mts_humancost",
- map);
- this.getSqlMapClient().insert(
- "insert_pri_itmis_serv_year_dept_team_mts_humancost_optcon",
- map);
- }
- this.getSqlMapClient().commitTransaction();
- this.getSqlMapClient().endTransaction();
- this.getSqlMapClient().executeBatch();
- } catch (Exception e) {
- result = 0;
- e.printStackTrace();
- }