SpringBoot 開啓事務以及手動提交事務

SpringBoot 開啓事務以及手動提交事務

需要在服務類上加上兩個註解

@Autowired
DataSourceTransactionManager dataSourceTransactionManager;
@Autowired
TransactionDefinition transactionDefinition;
//手動開啓事務
TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
//手動提交事務
dataSourceTransactionManager.commit(transactionStatus);//提交
//手動回滾事務
dataSourceTransactionManager.rollback(transactionStatus);//最好是放在catch 裏面,防止程序異常而事務一直卡在哪裏未提交

常見異常:

Transaction is already completed - do not call commit or rollback more than once per transaction

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章