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