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("新增通道失败");
            }
        }
    愿你走出半生,归来仍是少年!
  • 相关阅读:
    Bash基本语法
    安装Ifconfig
    Centos6版本升级
    使用Lombok简化你的代码
    二、快速起步(Mysql镜像)
    一、Docker之旅
    logback.xml日志配置
    mybatis动态SQL标签的用法
    你不知道的Java类
    系统管理员需知的 16 个 iptables 使用技巧
  • 原文地址:https://www.cnblogs.com/hujunwei/p/12193443.html
Copyright © 2011-2022 走看看