当前位置:   article > 正文

SpringBoot 事务方法使用(当数据在执行增删改操作的时候如果数据执行失败或者出现异常就恢复原来的数据)_springboot项目运行操作增删改查记录不能保存,电脑重启就恢复原始数据什么情

springboot项目运行操作增删改查记录不能保存,电脑重启就恢复原始数据什么情

1.在业务操作的ServiceImpI类里里面引入方法

依赖

  1. <!-- 事务 -->
  2. <dependency>
  3. <groupId>com.davidkarlsen.commonstransaction.spring</groupId>
  4. <artifactId>commons-transaction-spring</artifactId>
  5. <version>1.4</version>
  6. </dependency>
  1. @Resource //它定义了事务管理器的基本功能,如开始、提交、回滚事务等。
  2. PlatformTransactionManager platformTransactionManager;
  3. @Resource //它定义了事务的属性,如事务的传播行为、隔离级别、超时时间等。
  4. TransactionDefinition transactionDefinition;

2.在业务方法里面初始化方法

  1. // getTransaction() 方法用于获取当前线程关联的事务,如果当前线程没有关联的事务,那么它将创建一个新的事务。
  2. // transactionDefinition 是一个 TransactionDefinition 对象,它定义了事务的属性,如隔离级别、传播行为等。
  3. //返回的 TransactionStatus 对象可以用来检查事务是否已经完成(已提交或已回滚),以及在事务完成后执行一些清理操作。
  4. //获取一个事务的状态
  5. TransactionStatus transactionStatus=platformTransactionManager.getTransaction(transactionDefinition);

3.在执行数据的增改的后面添加调用方法和报错的地方添加调用方法

  platformTransactionManager.rollback(transactionStatus);

例如:

  1. @Service
  2. public class testServiceImpI {
  3. @Resource //它定义了事务管理器的基本功能,如开始、提交、回滚事务等。
  4. PlatformTransactionManager platformTransactionManager;
  5. @Resource //它定义了事务的属性,如事务的传播行为、隔离级别、超时时间等。
  6. TransactionDefinition transactionDefinition;
  7. public String test1(){
  8. // getTransaction() 方法用于获取当前线程关联的事务,如果当前线程没有关联的事务,那么它将创建一个新的事务。
  9. // transactionDefinition 是一个 TransactionDefinition 对象,它定义了事务的属性,如隔离级别、传播行为等。
  10. //返回的 TransactionStatus 对象可以用来检查事务是否已经完成(已提交或已回滚),以及在事务完成后执行一些清理操作。
  11. //获取一个事务的状态
  12. TransactionStatus transactionStatus=platformTransactionManager.getTransaction(transactionDefinition);
  13. try {
  14. platformTransactionManager.commit(transactionStatus);
  15. }catch (Exception err){
  16. platformTransactionManager.rollback(transactionStatus);
  17. }
  18. return null;
  19. }
  20. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/566484
推荐阅读
相关标签
  

闽ICP备14008679号