Mybatis批量插入、修改

这篇具有很好参考价值的文章主要介绍了Mybatis批量插入、修改。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        在 MyBatis 中,<foreach> 标签用于遍历集合类型的条件,并且可以将多个参数值拼接成为 SQL 语句的一个部分,通常被用于批量插入或更新等操作。 

<foreach>属性及介绍

        

属性 介绍
collection 集合名称
item 字符别名
index 索引别名
open 循环前缀
close 循环后缀
separator 分隔符

除了上述属性,<foreach>还有其他属性但不常用。

举例

批量增加

<insert id="insertBatch" parameterType="java.util.List">
        INSERT INTO class
            (id,name,sex)
        VALUES
     // list 是传入的集合名称  item是每条集合内容的别名  separator用“,”分割
        <foreach collection ="list" item="item" separator =",">
            (#{item.id},#{item.name},#{item.sex})
        </foreach >
    </insert>

批量修改

<update id="batchUpdate" parameterType="java.util.List">
        <foreach collection="list" item="item" open="" close="" separator=";">
            update class
            <set>
                <if test="item.name!=null">
                    name = #{item.name,jdbcType=VARCHAR},
                </if>
                <if test="item.sex!=null">
                    sex = #{item.sex,jdbcType=VARCHAR}
                </if>
            </set>
            where id = #{item.id,jdbcType=INTEGER}
        </foreach>
</update>

在Mysql中其实是没有foreach方法的,Mysql循环可以使用WHILE或LOOP来制造循环结构。

例如

DECLARE i INT DEFAULT 0;
DECLARE max INT DEFAULT 18;

WHILE i < max DO
  INSERT INTO class (id, name, …) VALUES (value1, value2, …);
  SET i = i + 1;
END WHILE;

        需要注意的是,批量操作结果可能会不符合预期,为了保证不出现误删、误改等情况发生,操作前最好先备份下需要操作的数据库或表。文章来源地址https://www.toymoban.com/news/detail-731937.html

到了这里,关于Mybatis批量插入、修改的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java编程精选:掌握Spring Boot、MySQL和MyBatis的增删改查实战

    当使用Spring Boot和MyBatis来实现对数据库的操作时,可以按照以下步骤进行配置和开发: 确保已经在项目的 pom.xml 文件中添加了Spring Boot和MyBatis的依赖。 配置数据库连接信息。在 application.properties 文件中添加以下配置: 请根据实际情况修改数据库连接URL、用户名和密码。 创建

    2024年02月08日
    浏览(86)
  • spring boot集成mybatis-plus——Mybatis Plus 批量 Insert_新增数据(图文讲解)

     更新时间 2023-01-10 16:02:58 大家好,我是小哈。 本小节中,我们将学习如何通过 Mybatis Plus 实现 MySQL 批量插入数据。 先抛出一个问题:假设老板给你下了个任务,向数据库中添加 100 万条数据,并且不能耗时太久! 通常来说,我们向 MySQL 中新增一条记录,SQL 语句类似如下:

    2024年02月04日
    浏览(50)
  • No Spring环境Mybatis-Plus批量插入并返回主键的两种方式

    批量插入,可以把Mybatis-Plus看作是Mybatis加强版;故Mybatis中的相关操作都可以在Mybatis-Plus中使用;在mysql数据库中支持批量插入,所以只要配置useGeneratedKeys和keyProperty就可以批量插入并返回主键了。 下面是批量插入的Dao层接口    一注解方式:      直接撸代码:      第二种: XML方

    2024年02月09日
    浏览(35)
  • 【Spring Boot+Thymeleaf+MyBatis+mysql】实现电子商务平台实战(附源码)持续更新~~ 包括sql语句、java、html代码

    源码请点赞关注收藏后评论区留言和私信博主 开发环境:Web服务器使用Servlet容器,数据库采用mysql,集成开发环境为Spring Tool Suite(STS) 电子商务平台分为两个子系统 一个是后台管理系统 一个是电子商务系统,下面分别讲解着两个子系统的功能需要与模块划分 1:后台管理子

    2024年02月09日
    浏览(46)
  • [Spring Boot + MyBatis + MySQL框架搭建]

    目录 🐉创建一个新的Spring Boot项目 🐉配置文件 🐉application.properties配置: 🐉创建实体类 🐉创建Mapper接口 🐉创建Mapper XML文件 🐉创建Service和Controller 🐉创建一个Controller类,用于处理HTTP请求和响应。在src/main/java目录下创建一个名为“com.example.demo.controller”的包,并在其中

    2024年02月11日
    浏览(43)
  • Mybatis批量插入

    使用Mybatis框架批量插入的3种方法:多次调用insert方法、foreach标签、batch模式 后端java代码:

    2024年02月12日
    浏览(59)
  • MyBatis的五种批量插入

    一.直接循环插入 最终耗时:14s多 二.关闭MySql自动提交,手动进行循环插入提交 平均:0.12s 第三种:用List集合的方式插入数据库(推荐) 第四种: MyBatis-Plus提供的SaveBatch方法 直接报错: 看报错信息: 长串:Servlet.service() for servlet [dispatcherServlet] in context with path [] threw excep

    2024年03月15日
    浏览(47)
  • Mybatis批量插入方式有哪些

    MyBatis批量插入有多种写法,最后博主总结一些常见的批量插入写法供大家参考 使用XML配置文件进行批量插入:在XML映射文件中使用 insert 标签,并通过 foreach 标签迭代批量数据,然后在SQL语句中使用 VALUES 。 使用Java注解进行批量插入:在实体类上使用 @Insert 注解,并

    2024年02月11日
    浏览(44)
  • Mybatis批量插入/更新性能优化思路

            最近在做数据写入服务的性能优化,主要是基于Mybatis-Plus实现一套批量写数据的服务,不过该服务是支持整个平台所有需要持久化的业务实体。所以这种服务不仅仅有insert操作还有update的操作。根据以往的MySQL数据库写入经验,主要总结了两套批量插入、批量插入

    2024年04月25日
    浏览(42)
  • Mybatis 中传入List实现 批量插入、批量更新、批量删除

    个人收藏使用 文章来自Mybatis 中传入List实现 批量插入、批量更新、批量删除 - chelsey3tsf - 博客园 (cnblogs.com) 1. 批量插入 : Mapper层: 对应的mapper.xml: 如果List数据量比较大,可以考虑将List分批次插入 2. 批量更新: 批量更新只提供更新单个字段的,因为更新多个字段无论哪种

    2024年02月11日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包