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("新增通道失败");
            }
        }
    愿你走出半生,归来仍是少年!
  • 相关阅读:
    Android学习地址
    Android动画设计源码地址
    chromeWebBrowser之浏览器开发
    win8.1蓝屏解决
    打包应用程序
    win8.1解决鼠标右键反应慢的问题
    Rewrite服务器和robots文件屏蔽动态页面
    第08组 Alpha事后诸葛亮
    第08组 Alpha冲刺(6/6)
    第08组 Alpha冲刺(5/6)
  • 原文地址:https://www.cnblogs.com/hujunwei/p/12193443.html
Copyright © 2011-2022 走看看