为了使得平台事务管理器对我们来说是透明的,就需要使用 TransactionTemplate。使用TransactionTemplat需要传入一个 PlateformTransactionManager 进入,这样,我们就得到了一个 TransactionTemplate,而不用关心到底使用的是什么平台了。
可以使用事务管理器注解的方式tiTransactionManager
private TransactionTemplate transactionTemplate; @Resource(name = "tiTransactionManager") public void setTransactionTemplate(PlatformTransactionManager transactionManager) { this.transactionTemplate = new TransactionTemplate(transactionManager); }
然后直接使用这个方式即可:就可以实现手动回滚
transactionTemplate.execute(transactionStatus -> { try { } catch (Exception e) { // 异常手动设置回滚 transactionStatus.setRollbackOnly(); } return true; });