返回顶部
首页 > 资讯 > 精选 >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://lsjlt.com/news/301207.html(转载时请注明来源链接)

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

    猜你喜欢
    • 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+
      2024-04-02
    • mybatis实现批量插入并返回主键(xml和注解两种方法)
      目录mybatis批量插入并返回主键(xml和注解两种方法)mybatis批量插入xml形式注解形式mybatis批量插入并返回主键笔记mapper中的代码xml中的代码,colle...
      99+
      2024-04-02
    • Mybatis批量插入返回插入成功后的主键id操作
      我们都知道Mybatis在插入单条数据的时候有两种方式返回自增主键: 1、对于支持生成自增主键的数据库:增加 useGenerateKeys和keyProperty ,<ins...
      99+
      2024-04-02
    • 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中怎么实现批量插入
      这篇文章将为大家详细讲解有关MyBatis中怎么实现批量插入,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。plaincopy<insert ...
      99+
      2024-04-02
    • mybatis在oracle插入对象后返回主键值
      在mybatis中默认插入一条记录后,返回值为插入记录的条数。现在想获取插入记录后,当前被插入的记录的主键值,需在insert方法中添加如下代码:<insert id="insert" paramet...
      99+
      2024-04-02
    • Mybatis执行插入语句后并返回主键ID问题怎么解决
      这篇文章主要讲解了“Mybatis执行插入语句后并返回主键ID问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mybatis执行插入语句后并返回主键ID问题怎么解决”吧!1、MyS...
      99+
      2023-07-05
    • 在MyBatis中使用MySQL如何实现返回插入的主键ID
      这篇文章给大家介绍在MyBatis中使用MySQL如何实现返回插入的主键ID,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。方法:...
      99+
      2023-05-31
      mybatis 主键id
    • mybatis中Insert语句如何返回插入的主键
      方法一: mapper.java Integer insertDep(Department department); xml select LAST_INSERT_ID() ...
      99+
      2023-10-05
      mybatis java mysql
    • mybatis插入后返回主键id的三种方式
      第一种:在xml文件,insert标签属性中,添加useGeneratedKeys和keyProperty,如图   第二种:在xml文件,添加selectKey标签属性,各个属性值含义:resultType:查询结果的类型;keyProp...
      99+
      2023-08-31
      mysql 数据库
    • MyBatis实现MySQL的批量插入
      准备工作 首先,我们需要确保以下几点: 你已经安装了MySQL数据库,并且可以正常连接。你已经配置好了MyBatis的环境,并且可以成功执行单条插入语句。 数据库表准备 为了演示批量插入的过程,我们创...
      99+
      2023-09-06
      mybatis mysql java
    • MyBatis怎么新增数据并返回主键值
      本篇内容主要讲解“MyBatis怎么新增数据并返回主键值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MyBatis怎么新增数据并返回主键值”吧!MyBatis新增数据并返回主键值虽然这个功能比...
      99+
      2023-07-05
    • Mybatis插入时返回自增主键方式(selectKey和useGeneratedKeys)
      目录Mybatis插入时返回自增主键Mybatis批量插入返回自增主键解决办法Mybatis插入时返回自增主键 通过selectKey在插入操作前或者操作后获取key值,做...
      99+
      2024-04-02
    • myBatis如何在插入时返回自增的主键id
      这篇文章主要介绍了myBatis如何在插入时返回自增的主键id,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。插入时返回自增的主键id<...
      99+
      2024-04-02
    • mybatis怎么返回自增主键
      MyBatis可以通过设置useGeneratedKeys属性来返回自增主键。具体步骤如下:1. 在Mapper的insert语句中...
      99+
      2023-08-24
      mybatis
    • MyBatis实现批量插入方法实例
      目录一、SQL实现示例二、Mybatis通过Mapper.xml文件实现三、在Mapper接口上使用注解四、限制一次批量插入数据的数量总结一、SQL实现示例 假设我们只插入一条数据的...
      99+
      2022-11-13
      mybatis批量插入 mybatis插入书籍
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作