mybaitis批量更新

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/damoneric_guo/article/details/76144400

1、穿值list,批量處理   

<update id="updateA" parameterType="java.util.List">

        UPDATE 表名
        <trim prefix="set" suffixOverrides=",">
            STATE=1,REPAY_STATE=3,--更新統一的數據
            <trim prefix="REPAY_DATE =case" suffix="end,">
                <foreach collection="list" item="i" index="index">
                    when  IID=#{i.iid}
                    then #{i.repayDate}
                </foreach>
            </trim> --更新不同的數據
        </trim>
        WHERE
        <foreach collection="list" item="i" index="index" separator="or">
            IID=#{i.iid}
        </foreach>
    </update>



2、穿值map,批量處理

    Map<String, Object> map = new HashMap<String, Object>();
                map.put("lid", lid);
                map.put("list", list);
    
    <update id="updateB" parameterType="java.util.Map" >
         UPDATE 表名
          <trim prefix="set" suffixOverrides=",">
        
            <trim prefix="字段名 =case" suffix="end,">
            <foreach collection="list" item="item" index="index">
             when LID = #{lid} AND indexs = #{item.indexs}
             then #{item.shouldInterest}
            </foreach>
           </trim> --更新不同的數據
           <trim prefix="SHOULD_TIME =case" suffix="end,">
            <foreach collection="list" item="item" index="index">
             when LID = #{lid} AND indexs = #{item.indexs}
             then #{item.shouldTime}
            </foreach>
           </trim> --更新不同的數據
          </trim>
          where
          <foreach collection="list" item="item" index="index" separator="or">
               LID = #{lid} AND  indexs = #{item.indexs}
          </foreach>
    </update>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章