zoukankan      html  css  js  c++  java
  • mysql mybatis 批量更新和新增

    一、mybatis执行批量更新batch update 的方法(mysql数据库)

    1、数据库连接必须配置:&allowMultiQueries=true(切记一定要加上这个属性,否则会有问题,切记!切记!切记!)
      我的配置如下:jdbc:mysql://127.0.0.1:3306/test?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>
    复制代码
    3、java 接口
    复制代码
      /**
         * 批量修改赛程
         * 
         * @param matchs
         * @throws DaoException
         */
        void updateMatchs(@Param(value = "matchs")List<MatchBasic> matchs);
    复制代码

    二、mybatis执行批量更新batch update 的方法(oracle数据库)

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

    复制代码
    <update id="batchUpdateSplitSinglePickCurrency" parameterType="java.util.List">
            <foreach collection="list" item="item" index="index" open="begin" close=";end;" separator=";">
                UPDATE ZC_TR_MULTI_ORDER_CURRENCY
                <set>
                    <if test="item.sysCorderCode != null">
                        SYS_CORDER_CODE = #{item.sysCorderCode,jdbcType=VARCHAR},
                    </if>
    
                    <if test="item.sysPorderCode != null">
                        SYS_PORDER_CODE = #{item.sysPorderCode,jdbcType=VARCHAR},
                    </if>
    
                    <if test="item.bizPorderCode != null">
                        BIZ_PORDER_CODE = #{item.bizPorderCode,jdbcType=VARCHAR},
                    </if>
    
                    <if test="item.originalOrderCode != null">
                        ORIGINAL_ORDER_CODE = #{item.originalOrderCode,jdbcType=VARCHAR},
                    </if>
    
                    <if test="item.splitUserId != null">
                        SPLIT_USER_ID = #{item.splitUserId,jdbcType=VARCHAR},
                    </if>
    
                    <if test="item.createDate != null">
                        CREATE_DATE = #{item.createDate},
                    </if>
    
                    <if test="item.updateDate != null">
                        UPDATE_DATE = #{item.updateDate},
                    </if>
                </set>
                where id = #{item.id,jdbcType=VARCHAR}
            </foreach>
        </update>
    复制代码

    2、java接口

      /**
    * @Desc : 批量更新大批量子订单详情信息 * @Author : ZRP * @Date : 2018/1/26 15:24 */ int batchUpdateSplitSinglePickCurrency(@Param(value = "list") List<MultiOrderCurrency> list) throws Exception;
    PS:一定要注意文中标红色的地方
  • 相关阅读:
    经典小程序源码及其下载地址
    关闭ios虚拟键盘的几种方法
    从零开始学ios开发(十八):Storyboards(下)
    iOS应用程序生命周期(前后台切换,应用的各种状态)详解
    从零开始学ios开发(十九):Application Settings and User Defaults(上)
    关于IOS中的delegate必须知道的事情
    ios多线程和进程的区别(转载)
    ios各种手势,很有意思
    IOS中GPS定位偏移纠正(适用于Google地图)
    [iOS]深入浅出 iOS 之多线程 NSThread
  • 原文地址:https://www.cnblogs.com/konglxblog/p/10011826.html
Copyright © 2011-2022 走看看