1. 程式人生 > 程式設計 >JAVA設定手動提交事務,回滾事務,提交事務的操作

JAVA設定手動提交事務,回滾事務,提交事務的操作

我就廢話不多說啦,還是直接看程式碼吧!

/**
  * 設定資料庫是否自動提交事務
  * @param flag
  * @throws SQLException
  */
 public void setAutoCommit(boolean flag) throws SQLException {
  con.setAutoCommit(flag);
 }
 
 /**
  * 提交
  * @throws SQLException
  */
 public void commit() throws SQLException {
  con.commit();
 }
 
 /**
  * 回滾
  * @throws SQLException
  */
 public void rollback() throws SQLException {
  con.rollback();
 }

定義一個全域性變數Connection 第一個方法設定為false就是手動提交,這種方法適用於我們刪除東西后重新再新增東西,類似許可權管理系統這種可以用得上

補充知識:springboot 手動開啟事務,分段提交

我就廢話不多說了,直接看程式碼吧!

List<OrdLogSyn> ordLogSynList = ordLogSynMapper.batchQuery("AP","20190926","0","1000");
  for (int i = 0; i < 2; i++) {
   DefaultTransactionDefinition def = new DefaultTransactionDefinition();
   def.setPropagationBehavior(DefaultTransactionDefinition.PROPAGATION_REQUIRES_NEW);
   TransactionStatus status = platformTransactionManager.getTransaction(def);
   List<OrdLogSyn> subList = null;
   if (i==0){
    subList = ordLogSynList.subList(0,500);
   }else if (i==1){
    subList = ordLogSynList.subList(501,1000);
   }
   for (OrdLogSyn ordLogSyn : subList) {
    int q = ordLogSynMapper.updateChkFlag(ordLogSyn.getConfirmSeqId(),ordLogSyn.getAcctDate(),"I");
    System.out.println("q = " + q);
   }
   platformTransactionManager.commit(status);
 
  }

以上這篇JAVA設定手動提交事務,回滾事務,提交事務的操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。