广告
返回顶部
首页 > 资讯 > 精选 >mybatis怎么实现批量插入并返回主键
  • 449
分享到

mybatis怎么实现批量插入并返回主键

2023-06-21 22:06:54 449人浏览 安东尼
摘要

本篇内容主要讲解“mybatis怎么实现批量插入并返回主键”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mybatis怎么实现批量插入并返回主键”吧!mybatis批量插入并返回主键(xml和注

本篇内容主要讲解“mybatis怎么实现批量插入并返回主键”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mybatis怎么实现批量插入并返回主键”吧!

    mybatis批量插入并返回主键(xml和注解两种方法)

    mybatis批量插入

    mysql数据库中支持批量插入,所以只要配置useGeneratedKeys和keyProperty就可以批量插入并返回主键了。

    比如有个表camera,里面有cameraNo,chanIndex,cameraName这三个字段,其中cameraNo是自增主键。

    下面是批量插入的Dao层接口:

    void batchInsertCameras(@Param("list") List<Camera> cameras);
    xml形式
    <insert id="batchInsertCameras" useGeneratedKeys="true" keyProperty="cameraNo">    insert into camera (chanIndex,cameraName)    values    <foreach collection="list" item="c" separator=",">        (#{c.chanIndex},#{c.cameraName})    </foreach></insert>
    注解形式
    @Insert("<script>insert into camera (chanIndex,cameraName) values " +        "<foreach collection='list' item='c' separator=','>(#{c.chanIndex},#{c.cameraName})</foreach></script>")@Options(useGeneratedKeys = true, keyProperty = "cameraNo")void batchInsertCameras(@Param("list") List<Camera> cameras);

    注意:@Param里必须写成list, foreach的collection也必须写成list,否则批量插入后会报错说找不到"cameraNo"字段,而无法返回主键。

    通过上面的xml形式或者注解形式的配置(我这是Spring Boot项目,引入的mybatis-spring-boot-starter,采用的是注解形式),就可以批量插入并返回主键了,主键会被设置到Camera对象的cameraNo字段中。

    cameraMapper.batchInsertCameras(cameras);for(Camera camera : cameras){    System.out.println(camera.getCameraNo());}

    mybatis怎么实现批量插入并返回主键

    执行批量插入时,需确保至少有一条待插入的记录,否则会导致sql有误而报错。

    mybatis批量插入并返回主键笔记

    mapper中的代码

    int insertBatchUserReturnId(List<User> users);

    也可以在形参前面加上@Param("xxxx")

    xml中的代码,collection必须填list类型

    <insert id="insertBatchUserReturnId" keyProperty="userId" useGeneratedKeys="true"> insert into message (user_id, user_name, user_type, user_passwd, user_phone,user_pic,user_address) values <foreach collection="list" item="item" open="(" close=")" separator=",">  #{item.userId,jdbcType=INTEGER}, #{item.userName,jdbcType=VARCHAR}, #{item.userType,jdbcType=TINYINT},   #{item.userPasswd,jdbcType=VARCHAR}, #{item.userPhone,jdbcType=VARCHAR},  #{item.userPic,jdbcType=VARCHAR},#{item.userAddress,jdbcType=VARCHAR} </foreach></insert>

    到此,相信大家对“mybatis怎么实现批量插入并返回主键”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    --结束END--

    本文标题: mybatis怎么实现批量插入并返回主键

    本文链接: https://www.lsjlt.com/news/301207.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • mybatis怎么实现批量插入并返回主键
      本篇内容主要讲解“mybatis怎么实现批量插入并返回主键”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mybatis怎么实现批量插入并返回主键”吧!mybatis批量插入并返回主键(xml和注...
      99+
      2023-06-21
    • Mybatis如何批量插入并返回主键id
      这篇文章主要介绍“Mybatis如何批量插入并返回主键id”,在日常操作中,相信很多人在Mybatis如何批量插入并返回主键id问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Mybatis如何批量插入并返回主...
      99+
      2023-06-29
    • Mybatis批量插入并返回主键id的方法
      目录场景错误分析原因排查问题场景 在做商城的时候,sku表进行了拆分,sku的基本信息以及sku的库存表。因为库存会经常的变动,会导致行锁。 这里就是新增的时候,因为在新增商品的时候...
      99+
      2022-11-13
    • mybatis实现批量插入并返回主键(xml和注解两种方法)
      目录mybatis批量插入并返回主键(xml和注解两种方法)mybatis批量插入xml形式注解形式mybatis批量插入并返回主键笔记mapper中的代码xml中的代码,colle...
      99+
      2022-11-12
    • Mybatis批量插入返回插入成功后的主键id操作
      我们都知道Mybatis在插入单条数据的时候有两种方式返回自增主键: 1、对于支持生成自增主键的数据库:增加 useGenerateKeys和keyProperty ,<ins...
      99+
      2022-11-12
    • Mybatis如何插入一条或批量插入返回带有自增长主键记录
      这篇文章主要介绍了Mybatis如何插入一条或批量插入返回带有自增长主键记录,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先讲一下, 插入一条记录返回主键的 Mybatis...
      99+
      2023-05-30
      mybatis
    • 利用Mybatis如何实现返回插入的主键id
      利用Mybatis如何实现返回插入的主键id?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在mapper的xml文件中配置  useGeneratedKeys以及 k...
      99+
      2023-05-31
      mybatis 主键id
    • Mybatis执行插入语句后并返回主键ID问题
      目录1、MySQL数据库设置ID自增情况2、使用UUID自增主键3、mybatis-plus在执行插入语句后返回自定义ID总结我们知道JDBC可以实现插入语句后返回主键Id,那myb...
      99+
      2023-03-07
      Mybatis执行插入语句 Mybatis返回主键ID Mybatis插入语句
    • Mybatis执行插入语句后并返回主键ID问题怎么解决
      这篇文章主要讲解了“Mybatis执行插入语句后并返回主键ID问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mybatis执行插入语句后并返回主键ID问题怎么解决”吧!1、MyS...
      99+
      2023-07-05
    • MyBatis中怎么实现批量插入
      这篇文章将为大家详细讲解有关MyBatis中怎么实现批量插入,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。plaincopy<insert ...
      99+
      2022-10-18
    • 在MyBatis中使用MySQL如何实现返回插入的主键ID
      这篇文章给大家介绍在MyBatis中使用MySQL如何实现返回插入的主键ID,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。方法:...
      99+
      2023-05-31
      mybatis 主键id
    • MyBatis怎么新增数据并返回主键值
      本篇内容主要讲解“MyBatis怎么新增数据并返回主键值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MyBatis怎么新增数据并返回主键值”吧!MyBatis新增数据并返回主键值虽然这个功能比...
      99+
      2023-07-05
    • mybatis实战:四、insert 用法(普通插入、返回主键自增的值)
      一、简单的 insert 方法 1.UserMapper.xml insert into sys_user(user_name,user_password,user_email,user_info,head_img,...
      99+
      2023-09-27
      mybatis java 数据库
    • Python3 操作 MySQL 插入一条数据并返回主键 id的实例
      Python 中貌似并没有直接返回插入数据 id 的操作(反正我是没找到),但是我们可以变通一下,找到最新插入的数据 #!/usr/bin/env python3 # -*- coding: UTF-8 -*- ...
      99+
      2022-05-27
      Python3 MySQL 插入数据 主键id
    • 如何用注解的方式实现Mybatis插入数据时返回自增的主键Id
      目录用注解实现Mybatis插入数据返回自增的主键Id设计数据库表设计Java bean对象添加mapper接口Mybatis注解增(返回自增id) 删查改以及(一对一,一对多,多对...
      99+
      2022-11-13
    • MyBatis怎么实现批量插入数据,多重forEach循环
      今天小编给大家分享一下MyBatis怎么实现批量插入数据,多重forEach循环的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
      99+
      2023-06-29
    • Mysql中怎么实现批量插入
      本篇文章为大家展示了Mysql中怎么实现批量插入,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 1.创建测试表:create table...
      99+
      2022-10-18
    • 数据库中批量插入数据时主键冲突怎么办
      小编给大家分享一下数据库中批量插入数据时主键冲突怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!客户有这样一个需求:有一个大表A,有主键,经常需要往这个表中批量插入大量数据,但插入的数...
      99+
      2022-10-19
    • 基于Java怎么用Mybatis实现oracle批量插入及分页查询
      这篇文章主要介绍“基于Java怎么用Mybatis实现oracle批量插入及分页查询”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“基于Java怎么用Mybatis实现oracle批量插入及分页查询”...
      99+
      2023-07-02
    • mysql中怎么实现循环批量插入
      mysql中怎么实现循环批量插入,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。数据结构寻思着分页时标准列分主键列、索引列、普通列3种场景,...
      99+
      2022-10-18
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作