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;
        }
  • 相关阅读:
    Sunnypig闯三角关
    送给圣诞夜的贺卡
    uva 1592(NEERC 2009 STL)
    uva 297(传递闭包 WF 1996)
    hdu 4190(二分)
    uva 3592 (MST, kruskal)
    uva 11997 (基础数据结构)
    hdu 2680 (Dijkstra)
    hdu 4568(状态压缩dp)
    hdu 4582 (树上的贪心)
  • 原文地址:https://www.cnblogs.com/eason-d/p/11834824.html
Copyright © 2011-2022 走看看