千家信息网

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

发表于:2025-02-24 作者:千家信息网编辑
千家信息网最后更新 2025年02月24日,本篇内容主要讲解"mybatis怎么实现批量插入并返回主键",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"mybatis怎么实现批量插入并返回主键"吧!my
千家信息网最后更新 2025年02月24日mybatis怎么实现批量插入并返回主键

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

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

    mybatis批量插入

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

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

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

    void batchInsertCameras(@Param("list") List cameras);
    xml形式
        insert into camera (chanIndex,cameraName)    values            (#{c.chanIndex},#{c.cameraName})    
    注解形式
    @Insert("")@Options(useGeneratedKeys = true, keyProperty = "cameraNo")void batchInsertCameras(@Param("list") List 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());}

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

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

    mapper中的代码

    int insertBatchUserReturnId(List users);

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

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

     insert into message (user_id, user_name, user_type, user_passwd, user_phone,user_pic,user_address) values   #{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} 

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

    形式 注解 字段 代码 内容 方法 学习 配置 实用 更深 三个 兴趣 实用性 实际 对象 少有 接口 操作简单 数据 数据库 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全法网评 keras 数据库 imf数据库 知乎 数据库连接打不开是什么原因 有关网络安全的英语初中的作文 pc页游大多用什么软件开发 贵阳网络安全技术培训课程 服务器怎么设置网站域名 连接到官方服务器失败是什么原因 电影海报设计软件开发 屏幕共享软件开发哪家价格低 软件开发收益在哪里 如何新建eplan数据库 公安局网络安全检查工作方案 部署到服务器和上线一样吗 网络安全二年级手抄报图片 软件开发规模估算和成本 王牌竞速怎么选择网易服务器 补考数据库应用技术卷子 在数据库怎样建立警报 中秋节手抄报内容网络安全 java 数据库增量更新 第三维度软件开发 网络安全法不少于多少月 网络安全月9月16日 西安软件开发大企业招聘 java开发服务器管理软件 实况足球如何做数据库 贵州托育管理系统软件开发 存储档案的网络安全保护
    0