zoukankan      html  css  js  c++  java
  • Spring Boot 单库事务

    1:启动类配置

    @EnableAspectJAutoProxy(exposeProxy = true)
    @EnableTransactionManagement
    @SpringBootApplication(exclude = {SecurityAutoConfiguration.class})
    public class ShoppingmallApplication {

    public static void main(String[] args) {
    SpringApplication.run(ShoppingmallApplication.class, args);
    }
    }

    2:调用业务方法

       @Override
        @Transactional
        public HttpResult simpleAdd(EquipmentSimpleDto es) {
            HttpResult r = new HttpResult();
            logger.info("==========简易添加==========开始...");
            try {
                String createUser = "shoppingmall";
                String remark = "简易添加";
                Date date = new Date();
    
                // 店铺
                Shops shops = new Shops(es.getShopName(), es.getOrgId());
                shops.setCreateUser(createUser);
                shops.setCreateTime(date);
                shops.setRemark(remark);
                ((ShopsService) AopContext.currentProxy()).save(shops); //本类方法调用
                logger.info("店铺已创建");
    
                // 模板
                ShoppingReceiptTemplate template = new ShoppingReceiptTemplate(es.getOrgId(), es.getShopName());
                template.setIsCommon(Boolean.FALSE);
                template.setCreateUser(createUser);
                template.setCreateTime(date);
                templateService.save(template);  //其他业务层调用
                logger.info("模板已创建");
    
                // 设备
                EquipmentInfo equipmentInfo = new EquipmentInfo(es.getEquipmentId(), es.getOrgId());
                // 设备-关联店铺
                equipmentInfo.setBindings(2);
                equipmentInfo.setShopsId(shops.getId());
                equipmentInfo.setShopsName(shops.getName());
                // 设备-关联模板
                equipmentInfo.setReceiptId(template.getId().toString());
                equipmentInfo.setReceiptName(template.getName());
    
                equipmentInfo.setCreateUser(createUser);
                equipmentInfo.setRemark(remark);
                equipmentInfo.setCreateTime(date);
                equipmentInfoService.save(equipmentInfo);
                logger.info("设备已创建");
    
                r.setCode(0);
                // 测试回滚
                /*
                int i = 0;
                int a =  123 / i;
               System.out.println(a);*/
            } catch (Exception e) {
                e.printStackTrace();
                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();  //关键
                r.setCode(-1);
                r.setMsg("异常:" + e.getMessage());
            } finally {
                logger.info("==========简易添加==========结束...");
            }
            return r;
        }
  • 相关阅读:
    JavaScript与ajax的作用域问题
    Note
    理解C#反射
    秋季雾天驾驶注意安全
    开车撞车之后
    医保机构电话
    提前还贷四大细节需要注意
    请在这汽车内循环和外循环正确使用方法!你会用了吗?
    老外吐槽“娶中国老婆等于娶一家人”引共鸣
    车型与车主
  • 原文地址:https://www.cnblogs.com/eason-d/p/11834824.html
Copyright © 2011-2022 走看看