DataSourceTransactionManager transactionManager = new DataSourceTransactionManager(dataSource);
TransactionTemplate transactionTemplate = new TransactionTemplate(transactionManager);
transactionTemplate.execute((TransactionCallback<ResultDto>) transactionStatus -> {
ResultDto<Object> result = new ResultDto<>();
try {
List<Map<String, Object>> list = new ArrayList<>();
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
//执行sql 逻辑
result.setData(list);
result.setSuccess(true);
} catch (Exception e) {
//回滚
transactionStatus.setRollbackOnly();
log.error("dbUrl: {} \r\n sql: {} \r\n msg: {}"
, ((DriverManagerDataSource) dataSource).getUrl(), sqlStr, e.getMessage());
result.setSuccess(false);
result.setMsg(e.getMessage());
}
return result;
});