1)首先加入注解,這就是spring的jdbc框架中提供的事務管理方式
@Autowired
DataSourceTransactionManager dataSourceTransactionManager;
@Autowired
TransactionDefinition transactionDefinition;
2)編寫方式
//手動開啟事務
TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
try {
/**
* 業務邏輯
*/
//手動提交事務
dataSourceTransactionManager.commit(transactionStatus);//提交
} catch (TransactionException e) {
e.printStackTrace();
//最好是放在catch 里面,防止程序異常而事務一直卡在哪里未提交
dataSourceTransactionManager.rollback(transactionStatus);
}