zoukankan      html  css  js  c++  java
  • 170829、mybatis使用oracle和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:一定要注意文中标红色的地方
  • 相关阅读:
    react实现登陆页面
    “css中设置边框不显示,border:none; 和border:0; 都没用”的解决方案
    JQuery AJAX的post()方法和get()方法的区别
    JQuery事件之文档/窗口事件
    JQuery事件之表单事件
    【K8S初识】-什么是Kubernetes
    Yaml语法理解
    Json语法理解
    Maven学习-Maven工程中默认的环境变量
    Java语言(7)-Java中的注解
  • 原文地址:https://www.cnblogs.com/zrbfree/p/8378680.html
Copyright © 2011-2022 走看看