SpringBoot中开启事务,只需要在方法前加上@Transactional注解即可。
默认该注解只对Error和RuntimeException及其子类异常则执行事务回滚,若方法执行过程中catch到了RuntimeException及其子类异常则执行事务回滚,反之则正常提交。所以我们需要对方法中的每一条SQL语句的执行结果进行判断,若结果不是预期的结果则抛出RuntimeException或其子类异常
也可以为注解添加rollbackFor=Exception.class属性值来扩大事务回滚的范围:
@Transactional(rollbackFor=Exception.class)