spring编程式事物
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; });