使用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();
這樣就可以主動回滾。