Springboot+Mybaits之两张表同时插入数据
项目需求是,一张表添加数据的同时,另外一张表也需要添加数据,话不多说,直接上代码。
1.Controller,我把两个DTO直接放到一个@RequestBody中。其中throws是后台获取当前时间抛出的异常,下面有代码。
@PostMapping("/addPrize/{id}")
public AdminResponse addPrize (@PathVariable Integer id,
@RequestBody PrizeDTO prizeDTO,VipGiftDTO vipGiftDTO,
@SessionAttribute("loginMember") Administrator administrator
)throws ParseException{
activeLuckyService.insertPrize(id,prizeDTO, administrator,vipGiftDTO);
return new AdminResponse();
}
2.Service层
void insertPrize(Integer id, PrizeDTO prizeDTO, Administrator administrator,VipGiftDTO vipGiftDTO)throws ParseException;
3.Impl层
public void insertPrize(Integer id, PrizeDTO prizeDTO, Administrator administrator,VipGiftDTO vipGiftDTO)
throws ParseException {
long bankId = getBankId(administrator);
Prize s = new Prize();
BeanUtils.copyProperties(prizeDTO,s);
//随机给的固定是4,以后根据修改
s.setPrizeType(4);
//不确定是什么,随机给的,等最后确认
s.setPrizeId(1L);
s.setActiveId(id);
pize.insertSelective(s); VipGift v = new VipGift();
BeanUtils.copyProperties(vipGiftDTO,v);
v.setBankPhone(administrator.getUsername());
v.setBankReferrer(administrator.getPassword());
v.setStatus(0);
v.setPrizeId(s.getPrizeId()); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
String now = df.format(new Date());
Date sj = df.parse(now);
v.setCreateTime(sj);
v.setUpdateTime(sj);
v.setBranchName("");
vip.insertSelective(v);
}
4.前台
5.之前报错信息,流关闭了
总结:根据项目需求,之前做的是Controller放入两个@RequestBody,所以试了一下前台请求两个请求路径还是不可以,但是SpringMVC只能获取到一个,所以就试了试把两个DTO放到一个@RequestBody中,后台可以获取到值,可以插入到数据库中。
之前想过手写两条SQL插入语句,然后插入到表中,但是用的是自带的插入方法,所以就直接奔着这种方法去改了,最后成功了。
网上的方法有很多,但是没有去试过,所以不好做任何的评价。
如有不对地方希望各位指正、留言
Springboot+Mybaits之两张表同时插入数据的更多相关文章
- django(django学习) 两张表创建 插入数据
pycharm中直接创建django项目 输入创建项目名(如first_django) 在此输入应用名(如g_tu) 此为项目总目录 将first_django中settings.py中第58行修 ...
- SQLServer两张表筛选相同数据和不同数据
概述 项目中经常会对两张数据库表的数据进行比较,选出相同的数据或者不同的数据.在SQL SERVER 2000中只能用Exists来判断,到了SQL SERVER 2005以后可以采用EXCEPT和I ...
- mysql左连接右连接(查询两张表不同的数据)
有两张表:一张A表he一张B表 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 :right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录: ...
- SQL两张表筛选相同数据和不同数据
原文链接:http://www.cnblogs.com/onesmail/p/6148979.html 方法一: select distinct A.ID from A where A.ID not ...
- SqlServer SqlBulkCopy批量插入 -- 多张表同时插入(事务)
这段时间在解决一个多个表需要同时插入大量数据的问题,于是在网上找了下,查到说用SqlBulkCopy效率很高,实验后确实很快,10万条数据只要4秒钟,用ef要用40秒.但是我的还需两张表同时插入,且需 ...
- MySQL实验1: 新建一个名为 library 的数据库,包含 book、reader 两张表,根据自己的理解安排表的内容并插入数据。
数据表(table)简称表,它是数据库最重要的组成部分之一.数据库只是一个框架,表才是实质内容. 实验: 新建一个名为 library的数据库,包含 book.reader两张表,根据自己的理解安排表 ...
- 【第十五篇】easyui datagrid的列编辑,同时插入两张表的数据进去
看图说话. 需求:插入两张表,上面的表单是第一张表的内容,下面的两个表格是第二张详情表的内容,跟第一张表的id关联 第二张表有一个列是需要用户手动填写添加的. 国际惯例,上代码 <div id= ...
- MySQL实现两张表数据的同步
有两张表A和B,要求往A里面插入一条记录的同时要向B里面也插入一条记录,向B里面插入一条记录的同时也向A插入一条记录.两张表的结构不同,需要将其中几个字段对应起来.可以用下面的触发器实现. 表A的触发 ...
- 关于跨DB增量(增、改)同步两张表的数据小技巧
有些场景下,需要隔离不同的DB,彼此DB之间不能互相访问,但实际的业务场景又需要从A DB访问B DB的情形,这时怎么办?我认为有如下常规的三种方案: 1.双方提供RESET API,需要访问不同DB ...
随机推荐
- codeforces 796A-D
决定在 codeforces 练题啦,决定每个比赛刷前四道...太难就算了 796A Buying A House 题意:给出x轴上的n 个点,每个点有个权值,问离m 点最近的权值小于等于k 的点离m ...
- 网络流学习(转载自ssw 的博客)
众所周知,网络流是探究网络上运输的一种图论分支.但是大多数人在第一次接触这个题时都有些畏惧感(比如说我),大佬可以自信跳过.. 本文包括: 1.网络流的概念及基本性质 2.略谈 Edmonds-Kar ...
- SolidWorks装配体
- Plctext 如何发送默认的模式
当切屏指令都没有的情况下,就会发,即:当65这个地址位(0-7),都为零的情况下.
- vue在html中出现{{}}原因及解决办法
在刚开始接触vue的时候,我们都是直接用<script>引入vue.js使用.没有借助vue-cli脚手架来构建项目. 对于一个初学者来说,跟着文档慢慢搬砖,使用vue进行数据绑定. 记得 ...
- ubuntu 安装 evpp
ubuntu 安装 evpp 来源 https://www.cnblogs.com/wisdomyzw/p/9402440.html Ubuntu虚拟机安装开源库evpp说明: EVPP为奇虎360基 ...
- MT【324】增量代换
实数$a,b,c$满足$a^2+b^2+c^2=1$求$f=\min\{(a-b)^2,(b-c)^2,(c-a)^2\}$的最大值 分析:由对称性不妨设$c\ge b\ge a$,令$b-a=s,c ...
- http验证
read -p "输入要添加的用户名: " USERNAME read -p "输入密码: " PASSWD printf "$USERNAME:$( ...
- 我的第一个微信小程序
今年国庆假期的时候,在家里带宝宝.想下载一个哄宝宝玩的游戏,从 App Store上搜索了一圈,发现评分高的基本上都是收费的.因为App Store上有限免机制,所以就萌发了做一款关注限免应用的小程序 ...
- redis实现分页
redis实现分页功能,主要是将数据缓存起来,无需频繁查询数据库,减少数据库的压力. 适用场景:单用户操作列表界面分页,如博客列表. 缺点:不可模糊查询,缺少灵活性. 封装类: class XgRed ...