单独使用ibatis做事物控制。
当项目中,只使用到了ibatis而没有使用spring来作为事物控制的时候,可以这样写:
try { Reader reader = Resources.getResourceAsReader("server/system_manage/sqlmap/SqlMapConfig.xml"); sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader); reader.close(); } catch (IOException e) { throw new ServerException(e); } try { sqlMapper.startTransaction(); // 开启事物 ---------------------- so much insert and update sql execute ,and then ... ---------------------- sqlMapper.commitTransaction(); // 提交事物 } catch (SQLException e) { logger.error("um账号设置账单权限异常saveBeneficiaryUmInfo", e); throw new ServerException(e); }finally{ try { sqlMapper.endTransaction(); } catch (SQLException e) { logger.error("um账号设置账单权限异常saveBeneficiaryUmInfo, 结束事物时异常", e); } // 结束事物 }