首页 > 技术文章 > Springboot+Mybaits之两张表同时插入数据

ln0808 2019-04-13 15:42 原文

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

 

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插入语句,然后插入到表中,但是用的是自带的插入方法,所以就直接奔着这种方法去改了,最后成功了。

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

 

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

 

 

 

 

推荐阅读