mybaits sql批量处理的几种方法总结

 ①批量插入
 
<!--批量插入并返回插入成功的条数-->
  <insert id="insertBranchReviseData" parameterType="java.util.List">
     insert into SAS_BRANCH_REVISE_BATCH
     (
   ID,
   ORG_ID,
   FIRST_LEVEL_BRANCH_NAME,
   SECOND_LEVEL_BRANCH_NAME,
   SUB_BRANCH_NAME,
   ORG_CODE,
   ONLINE_RECOMMED_CODE,
   OFFLINE_RECOMMED_CODE,
   BATCH_NO,
   CREATE_DATE
  )
  select 
      SAS_BRANCH_REVISE_BATCH_SEQ.nextval,
   A.*
  from
  (
      <foreach collection="branchs" item="item" index="index" separator="union all">    
      select
    #{item.orgId,jdbcType=CHAR},
    #{item.firstLevelBranchName,jdbcType=CHAR},
    #{item.secondLevelBranchName,jdbcType=CHAR},
    #{item.subBranchName,jdbcType=CHAR},
    #{item.orgCode,jdbcType=CHAR},
    #{item.onlineRecommedCode,jdbcType=CHAR},
    #{item.offlineRecommedCode,jdbcType=CHAR},
    #{batchNo,jdbcType=VARCHAR},
    sysdate
       from dual
      </foreach>  
  )A
 </insert> 
 
 ②批量更新
  <update id="batchUpdateApplyState" parameterType="java.util.List">
        <foreach collection="applyStateList" item="item" index="index" open="BEGIN" close=";END;" separator=";">
            UPDATE ORG_RECOMM_RELATIONSHIP
            <set>
                <if test="item.applyState != null and item.applyState != ''">
                    APPLY_STATE=#{item.applyState,jdbcType=VARCHAR},
                </if>
                MODIFY_DATE=sysdate
            </set>
            WHERE 
                SNO=#{item.sno,jdbcType=BIGINT} 
            AND 
                APPLY_STATE != #{item.applyState,jdbcType=VARCHAR}
        </foreach>
    </update>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值