• Springboot+Mybaits之两张表同时插入数据


    项目需求是,一张表添加数据的同时,另外一张表也需要添加数据,话不多说,直接上代码。

    1.Controller,我把两个DTO直接放到一个@RequestBody中。其中throws是后台获取当前时间抛出的异常,下面有代码

    1 @PostMapping("/addPrize/{id}")
    2     public AdminResponse addPrize (@PathVariable Integer id,
    3                                    @RequestBody PrizeDTO prizeDTO,VipGiftDTO vipGiftDTO,
    4                                    @SessionAttribute("loginMember") Administrator administrator
    5                                     )throws ParseException{
    6         activeLuckyService.insertPrize(id,prizeDTO, administrator,vipGiftDTO);
    7         return new AdminResponse();
    8     }

    2.Service层

    1     void insertPrize(Integer id, PrizeDTO prizeDTO, Administrator administrator,VipGiftDTO vipGiftDTO)throws ParseException;

     3.Impl层

     1 public void insertPrize(Integer id, PrizeDTO prizeDTO, Administrator administrator,VipGiftDTO vipGiftDTO)
     2             throws ParseException {
     3         long bankId = getBankId(administrator);
     4         Prize s = new Prize();
     5         BeanUtils.copyProperties(prizeDTO,s);
     6         //随机给的固定是4,以后根据修改
     7         s.setPrizeType(4);
     8         //不确定是什么,随机给的,等最后确认
     9         s.setPrizeId(1L);
    10         s.setActiveId(id);
    11         pize.insertSelective(s);
    12 
    13 
    14         VipGift v = new VipGift();
    15         BeanUtils.copyProperties(vipGiftDTO,v);
    16         v.setBankPhone(administrator.getUsername());
    17         v.setBankReferrer(administrator.getPassword());
    18         v.setStatus(0);
    19         v.setPrizeId(s.getPrizeId());
    20 
    21 
    22         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
    23         String now = df.format(new Date());
    24         Date sj = df.parse(now);
    25         v.setCreateTime(sj);
    26         v.setUpdateTime(sj);
    27         v.setBranchName("");
    28         vip.insertSelective(v);
    29     }


    4.前台

    5.之前报错信息,流关闭了

    总结:根据项目需求,之前做的是Controller放入两个@RequestBody,所以试了一下前台请求两个请求路径还是不可以,但是SpringMVC只能获取到一个,所以就试了试把两个DTO放到一个@RequestBody中,后台可以获取到值,可以插入到数据库中。

    之前想过手写两条SQL插入语句,然后插入到表中,但是用的是自带的插入方法,所以就直接奔着这种方法去改了,最后成功了。

    网上的方法有很多,但是没有去试过,所以不好做任何的评价。

    如有不对地方希望各位指正、留言

     

     

  • 相关阅读:
    一台计算机安装两个版本的MySQL
    用php实现显示上个月的最后一天
    SQL 如何去掉字段中千位的逗号(比如set @= '1,320.00' 想得到@= '1320.00' )
    jsp表单提交中的逻辑判断
    将两个字段中的值合并到一个字段中
    vue判断开始日期不能大于截至日期
    mySql中The user specified as a definer ('root'@'%') does not exist
    mysql GROUP_CONCAT给每个值加上单引号后再拼接
    javascript如何获取复选框中的值?
    mybatis中的useGeneratedKeys="true"
  • 原文地址:https://www.cnblogs.com/ln0808/p/10701411.html
Copyright © 2020-2023  润新知