设为首页 加入收藏

TOP

Spring+iBatis框架下事务代码的编写示例
2014-11-24 00:10:20 来源: 作者: 【 】 浏览:6
Tags:Spring iBatis 框架 事务 代码 编写 示例

最近在做项目的账号管理这一块儿的功能。每一项账号操作相关的功能,都要涉及到多张表的读写。这个时候自然联想到用数据库的事务进行操作。否则,一处发生异常,将导致脏数据的产生。


ibatis+spring框架下事务的代码写法有两种方式:注解方式和声明事务起始点。


需要的spring的配置文件如下:


class="org.springframework.jdbc.datasource.DataSourceTransactionManager">












一.注解方式:


在类或方法上面加@Transactional(isolation = Isolation.SERIALIZABLE),序列化这个级别在事务隔离级别里面是最高的。考虑到账号操作比较重要,就选了这个级别。


二.java代码声明事务起始点


@Override
public boolean deleteAdminGroup(Integer id) {
DefaultTransactionDefinition definition = new DefaultTransactionDefinition();
definition.setIsolationLevel(DefaultTransactionDefinition.ISOLATION_SERIALIZABLE);
TransactionStatus status = transactionManager.getTransaction(definition);//事务开始

List childGroupList = new ArrayList();
try {
......

transactionManager.commit(status);//提交事务
} catch (Exception e) {
LOG.error(e.getMessage(), e);
transactionManager.rollback(status);//事务回滚
return false;
}

return true;
}


个人比较偏好第一种,开发效率高,配置简洁。


相关阅读


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇正则表达式库 PCRE 简述 下一篇iBatis传入数组或List类型参数小结

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: