java編程式事務

1.java編程式事務

   1.1  有返回值事務

    

@Autowired
    private TransactionTemplate transactionTemplate;

return transactionTemplate.execute(status -> {
            
             //業務邏輯
            return null;
        })

   1.2 無返回值事務

@Autowired
    private PlatformTransactionManager transactionManager;


DefaultTransactionDefinition transactionDefinition;
        TransactionStatus transactionStatus = null;
        try {
            // 有事務,則使用當前事務;否則開啓新事務
            transactionDefinition = new DefaultTransactionDefinition();
            transactionDefinition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
            transactionStatus = transactionManager.getTransaction(transactionDefinition);

  //業務代碼

  transactionManager.commit(transactionStatus);
        } catch (Exception e) {
            if (transactionStatus != null) {
                transactionManager.rollback(transactionStatus);
            }
            throw new RuntimeException(e);
        }

 

發佈了172 篇原創文章 · 獲贊 67 · 訪問量 34萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章