使用spring的@Transactional注解,异常时,进行事务回滚。
1.引用
xmlns:tx="http://www.springframework.org/schema/tx"
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
2.开启事务
<tx:annotation-driven transaction-manager="transactionManager" />
3.在业务层的方法使用注解
@Transactional
注,使用最新的spring框架,抛出的异常都可以进行事务回滚。
若做接口,捕获异常后,统一返回值,不向最外层抛出异常,就无法使用事务回滚机制。
但spring提供手动事务回滚机制。
在捕获异常时,使用代码:TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
这样就可以主动回滚。
原文地址:http://blog.csdn.net/qijunming1208/article/details/46651003