1.首先需要在启动类Appliction上添加@EnableTransactionManagement注解启动事务
2.在需要进行事务处理的方法上添加@Transactional注解开启事务
3.回滚分为三种方式。
- 第一为自动回滚,只要抛出异常则自动回滚,需要在方法上的注解修改为:@Transactional(rollbackFor = Exception.class)
- 第二为手动回滚,手动捕捉异常后进行回滚: //手工回滚异常 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- 第三种为部分异常回滚,需要在回滚前声明回滚点
- Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); //设置回滚点。
-
使用TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); //回滚到savePoint。