mysql批量更新数据(性能优化)--第二种方式


Spring+Mybatis 手动控制事务

 

参考:

https://blog.csdn.net/qq_41750175/article/details/87621170

 

 

public boolean testDelete(String jobCode) throws Exception {
      boolean flag = false;
      //1.获取事务控制管理器
      DataSourceTransactionManager transactionManager = HqznContext.getBean(
           "transactionManager", DataSourceTransactionManager.class);//这里是spring手动注入bean,也可以使用自动注入 HqznContext是一个工具类:主要用于简化spring手动注入代码
      //2.获取事务定义
      DefaultTransactionDefinition def = new DefaultTransactionDefinition();
      //3.设置事务隔离级别,开启新事务
      def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
      //4.获得事务状态
      TransactionStatus status = transactionManager.getTransaction(def);
      try {
        //5.具体的数据库操作(多个)
        BOBaseJob r = new BOBaseJob();
        r.setJobCode("SW001");
        r.setJobName("事务001");
        BOBaseJobMapper.deleteByPrimaryKey(jobCode);
        BOBaseJobMapper.insert(r);
        flag = true;
        transactionManager.commit(status);
      } catch (Exception e) {
        transactionManager.rollback(status);
      }
      return flag;
   }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM