当前位置: 首页 > wzjs >正文

阳江网站建设 公司百搜科技

阳江网站建设 公司,百搜科技,部分网站dns解析失败,虞城做网站背景 批量插入多条数据,插入成功之后每条数据中需要返回自增主键.处理办法 1.确定项目中mybatis版本,要求3.3.1以上. 查看springboot中项目版本方法: pom.xml中进入依赖(Ctrl点击进入): <dependency><groupId>org.mybatis.spring.boot</groupId><artifac…

背景

&nbsp;&nbsp;&nbsp;&nbsp;批量插入多条数据,插入成功之后每条数据中需要返回自增主键.

处理办法

1.确定项目中mybatis版本,要求3.3.1以上.

    查看springboot中项目版本方法:
pom.xml中进入依赖(Ctrl+点击进入):

  <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.3</version></dependency>

进入之后发现也是继承了一个父类
在这里插入图片描述
按照上面的方法进入之后可以查看mybatis版本:
在这里插入图片描述

2.foreach标签批量插入返回主键

mapper:

int addStaffUseItemRecord(List<CashUseItem> cashUseItemList);

实体类:

public class CashUseItem implements Serializable {private static final long serialVersionUID = 116859051074041617L;private Integer programId;private Integer programNum;private Integer useItemId;private Integer useRecordId}

配置文件:

 <insert id="addStaffUseItemRecord"  useGeneratedKeys="true" keyProperty="useItemId">insert into manage_staff_use_record_item (program_id,num) values<foreach collection="list" separator="," item="cashUseItem">(#{cashUseItem.programId},#{cashUseItem.programNum})</foreach></insert>

测试:

 List<CashUseItem> cashUseItemList = new ArrayList<>();CashUseItem cashUseItem = new CashUseItem();cashUseItem.setProgramId(1);cashUseItem.setProgramNum(1);cashUseItem.setUseRecordId(5);CashUseItem cashUseItem1 = new CashUseItem();cashUseItem1.setProgramId(2);cashUseItem1.setProgramNum(2);cashUseItem1.setUseRecordId(5);cashUseItemList.add(cashUseItem);cashUseItemList.add(cashUseItem1);int y = cashMapper.addStaffUseItemRecord(cashUseItemList);System.out.println(cashUseItemList);

输出结果:

[CashUseItem(programId=1, programNum=1, packageId=0, useItemId=29), CashUseItem(programId=2, programNum=2, packageId=0, useItemId=30)]

遇到到坑:
    原业务处理中需要传递一个对应多个集合的数据id:useRecordId,最初的处理是下面:

[CashUseItem(programId=1, programNum=1, packageId=0, useItemId=31, useRecordId=5), CashUseItem(programId=2, programNum=2, packageId=0, useItemId=32, useRecordId=5)]

但是执行sql的时候会有入表记录,但是控制台会报错:

Could not determine which parameter to assign generated keys to. Note that when there are multiple parameters, 'keyProperty' must include the parameter name (e.g. 'param.id'). Specified key properties are [useRecordId] and available parameters are [cashUseItemList, useRecordId, param1, param2]

尝试多次发现,对于foreach批量插入操作,不支持多参数处理,在不改变原有的逻辑的处理方式就是将dataId放到集合中即可.

http://www.dtcms.com/wzjs/182686.html

相关文章:

  • 成都中高风险地区名单最新seo案例视频教程
  • 网页设计实验报告格式班级优化大师客服电话
  • 0539 网站江苏seo推广
  • jsp动态网站开发结业考试关于友情链接的作用有
  • 招商网站自动seo系统
  • 节日网站网页设计html腾讯新闻最新消息
  • 网站访问统计报告模板关键词优化排名第一
  • 初创品牌网站建设百度seo优化技巧
  • 问答社区网站建设怎么创建网站?
  • 哈尔滨 做网站公司有哪些南宁百度seo排名优化软件
  • 找别人建网站去哪里百度搜索推广流程
  • 外贸网站建设注意重庆seo
  • 做代刷网站赚钱不大片网站推广
  • 南宁如何做百度的网站新站网站推广公司
  • 帝国cms怎样做网站迁移个人免费开发网站
  • 寿光做网站m0536seo网络优化是做什么的
  • 重庆做网站微信的公司竞价推广套户渠道商
  • 五行seo博客百度seo优化排名
  • 做网站1核1g服务器够吗百度搜索风云榜下载
  • 营销型网站建站公司外贸推广平台哪个好
  • 做一个门户网站要多少钱免费云服务器
  • Python做网站 性能seo广告优化多少钱
  • 最好的国内科技网站建设重庆网站网络推广
  • 赤峰做网站哪家好百度投诉电话人工客服24小时
  • 网站建设怎么谈seo刷点击软件
  • 重庆市建设节能中心网站南昌seo建站
  • 织梦cms手机网站此网站不支持下载视频怎么办
  • 建站平台加盟广告平台有哪些
  • 有意义的网站在线数据分析网站
  • 网站logo在哪里互联网媒体广告公司