zoukankan      html  css  js  c++  java
  • 我爱java系列---【springBoot中手动开启事务】

    springBoot中手动开启事务,直接看例子:

        @Autowired
        DataSourceTransactionManager dataSourceTransactionManager;
        @Autowired
        TransactionDefinition transactionDefinition;
        TransactionStatus transactionStatus = null;
    
        @Override
        public void add(ChannelDetail channelDetail) {
    
            try {
                log.info("通道管理实现类-新增-入参:channelDetail:{}", channelDetail);
                //手动开启事务
                transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
                //新增通道信息
                channelMapper.insertSelective(channelDetail.getChannel());
                //生效时间默认为当天生效
                ChannelPriceBatch channelPriceBatch = channelDetail.getChannelPriceBatch();
                channelPriceBatch.setChannelId(channelDetail.getChannel().getId());
                channelPriceBatchMapper.insert(channelPriceBatch);
                //手动提交事务
                dataSourceTransactionManager.commit(transactionStatus);
            } catch (Exception e) {
                log.error(e.getMessage(), e);
                //手动回滚事务
                dataSourceTransactionManager.rollback(transactionStatus);
                throw new RuntimeException("新增通道失败");
            }
        }
    愿你走出半生,归来仍是少年!
  • 相关阅读:
    poj2240
    poj1135
    poj1062
    poj3278
    2218 补丁vs错误
    必做: 1041、1024、1077、2218、1183(较难)
    poj2828
    poj3253
    洛谷P1122 最大子树和
    1074 食物链
  • 原文地址:https://www.cnblogs.com/hujunwei/p/12193443.html
Copyright © 2011-2022 走看看