转载

关于springboot里面的事务回滚的简单记录

最近自己在写一个小的项目,写的时候才发现自己会的东西太少了,总是遇到各种各样的坑。

今天主要记录一下自己在写数据库存储的时候想到要是出现错误,是不是要回滚数据库的操作呀!

然后就百度并实践了一下,得出下面的结论:

第一、需要在service方法上添加注解:

@Transactional(rollbackFor = Exception.class)

第二、如果你没有用try catch去捕获异常的话,那么只需要加上这个注解就可以了,如果你捕获异常了但catch里面只是打印或者返回了异常信息,没有手动抛出RuntimeException异常。那么这个时候你就需要在catch里面添加一个手动回滚的机制了。

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

这样就OK了,当然也可以通过AOP去批量实现这种效果,只是暂时我还没有研究明白,所以就先记录这个最简单的了。后期补上。。。

原文  https://segmentfault.com/a/1190000019259824
正文到此结束
Loading...