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;
        });

猜你喜欢

转载自www.cnblogs.com/nrev/p/9428736.html