mybatis执行批量更新batch update 的方法

1、数据库连接必须配置:&allowMultiQueries=true

  我的配置如下:jdbc:mysql://10.20.13.16:3306/CALENDAR?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true

2、批量修改并加判断条件(修改字段可选)

    <!-- 批量更新赛程 -->
    <update id="updateMatchs" parameterType="java.util.List">
        <foreach collection="matchs" item="item" index="index" open="" close="" separator=";">
            update t_match
            <set>
                <if test="item.title !=null">
                    TITLE = #{item.title,jdbcType=VARCHAR},
                </if>
                <if test="item.homeScore !=null">
                    HOME_SCORE = #{item.homeScore,jdbcType=INTEGER},
                </if>
                <if test="item.visitScore !=null">
                    VISTT_SCORE = #{item.visitScore,jdbcType=INTEGER},
                </if>
                <if test="item.liveSource !=null">
                    LIVE_SOURCE = #{item.liveSource,jdbcType=VARCHAR},
                </if>
                <if test="item.liveURL !=null">
                    LIVE_URL = #{item.liveURL,jdbcType=VARCHAR},
                </if>
                <if test="item.isHotMatch !=null">
                    IS_HOT_MATCH = #{item.isHotMatch,jdbcType=VARCHAR}
                </if>
            </set>
        where HOME_TEAM_ID = #{item.homeTeamId,jdbcType=VARCHAR} and
        VISIT_TEAM_ID = #{item.visitTeamId,jdbcType=VARCHAR} and
        MATCH_TIME = #{item.matchTime,jdbcType=BIGINT}
        </foreach>
    </update>

java接口

    /**
     * 批量修改赛程
     *
     * @param matchs
     * @throws DaoException
     */
    void updateMatchs(@Param(value = "matchs")List<MatchBasic> matchs);
时间: 2024-08-28 10:16:46

mybatis执行批量更新batch update 的方法的相关文章

170829、mybatis使用oracle和mybatis中批量更新

1.数据库连接必须配置:&allowMultiQueries=true(切记一定要加上这个属性,否则会有问题,切记!切记!切记!) 我的配置如下:jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true 2.批量修改并加判断条件(修改字段可选) <!-- 批量更新 --> <update id="updateMatchs&

如何 ︰ 执行批量更新和插入使用.NET 提供程序在 C#.NET OpenXML

https://support.microsoft.com/zh-cn/kb/315968 如何 ︰ 执行批量更新和插入使用.NET 提供程序在 C#.NET OpenXML Email Print 注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成.微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章.然而由机器翻译的文章并不总是完美的.它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误.虽然我们经常升级

mybatis数据批量更新

原sql语句: update zyjd set peopleId=case when id=1 then   10, when id=2 then   11 end, roadgridid =case when id=1 then   101, when id=2 then   102 end, ---- where id=1 or id=2 sql意思:当id=1的情况下peopleId =10,roadgridid =101,当id=2的情况下peopleId =11,roadgridid 

mybatis学习之路----批量更新数据两种方法效率对比

原文:https://blog.csdn.net/xu1916659422/article/details/77971696/ 上节探讨了批量新增数据,这节探讨批量更新数据两种写法的效率问题. 实现方式有两种, 一种用for循环通过循环传过来的参数集合,循环出N条sql, 另一种 用mysql的case when 条件判断变相的进行批量更新 下面进行实现. 注意第一种方法要想成功,需要在db链接url后面带一个参数  &allowMultiQueries=true 即:  jdbc:mysql:

Mybatis之批量更新操作

更新单条记录 UPDATE course SET name = 'course1' WHERE id = 'id1'; 更新多条记录的同一个字段为同一个值 UPDATE course SET name = 'course1' WHERE id in ('id1', 'id2', 'id3); 更新多条记录为多个字段为不同的值 比较普通的写法,是通过循环,依次执行update语句. Mybatis写法如下: <update id="updateBatch"  parameterTy

mybatis 实现批量更新

更新单条记录 1 UPDATE course SET name = 'course1' WHERE id = 'id1'; 更新多条记录的同一个字段为同一个值 1 UPDATE course SET name = 'course1' WHERE id in ('id1', 'id2', 'id3); 更新多条记录为多个字段为不同的值 比较普通的写法,是通过循环,依次执行update语句. Mybatis写法如下: 1 2 3 4 5 6 7 8 9 <update id="updateBa

c#mysql批量更新的两种方法

总体而言update 更新上传速度还是慢. 1:  简单的insert  速度稍稍比MySqlDataAdapter慢一点 配合dapper 配置文件 <?xml version="1.0" encoding="utf-8"?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Versio

SpringBoot+Mybatis+Druid批量更新 multi-statement not allow异常

本文链接:https://blog.csdn.net/weixin_43947588/article/details/90109325 注:该文是本博主记录学习之用,没有太多详细的讲解,敬请谅解! 在日常的开发过程中难免会有批量操作的功能,Mybatis集成Druid批量更新时经常会出现Error updating database. Cause: java.sql.SQLException: sql injection violation, multi-statement not allow

mybatis的批量更新实例

近来批量添加,删除,更新用的比较多,单一的删除和更新,操作无法满足企业某些业务的需求,故通过以下示例分享知识: 今天通过更新的例子来说明 演示环境为jdk8,maven环境,ssm框架 请准备好环境,数据表可直接使用 一.准备数据表 CREATE TABLE `user` ( `user_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID', `username` varchar(20) DEFAULT NULL COMMENT '用户名', `s