近期改已离职员工的代码,发现很多地方存在事务的逻辑性错误,比如:
在已对数据库进行一次增删改的情况下,在下一步增删改中如果执行失败,他直接就返回一个包含错误code的ResultMap的结果集回去(这两次怎删改应该是原子性的),这样的话,相当于一次正常的200http请求,显然是不行的
于是,我就亲测了一下,spring事务手动回滚的用法,一个最简单实用:
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
这里用上 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();的效果和抛异常的效果是一样的
更深的东西暂且不做研究,单纯只是实践下用法,有什么缺漏,欢迎指导!