当项目中,只使用到了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);
} // 结束事物
}