Springboot项目事物使用方式
@Autowired
private DataSourceTransactionManager dataSourceTransactionManager;
DefaultTransactionDefinition transDefinition = new DefaultTransactionDefinition();
transDefinition.setPropagationBehavior(DefaultTransactionDefinition.PROPAGATION_REQUIRES_NEW);
transDefinition.setReadOnly(false);
TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transDefinition);
try {
xxxxxTableMapper.batchInsertBySql(insertMainTableSql);
xxxxxTableMapper.batchInsertBySql(insertExtendTableSql);
dataSourceTransactionManager.commit(transactionStatus);
}catch (Throwable e){
log.error("事务提交失败",e);
dataSourceTransactionManager.rollback(transactionStatus);
}