需求:根据传入的list集合中的对象的id属性更新数据表中对应id的数据
<update id="updateAllStatusByCondition" parameterType="java.util.List">
<if test="list != null and list.size() > 0 ">
UPDATE t_inquiry_record SET
bidding_status = CASE id
<foreach collection="list" item="item">
WHEN #{item.id}
THEN #{item.biddingStatus}
</foreach>
</if>
END
WHERE id IN
<if test="list != null and list.size() > 0 ">
<foreach collection="list" item="item" separator="," open="(" close=")">
#{item.id}
</foreach>
</if>
</update>
根据实战使用经验,此方法非常消耗物理内存,要是同时进行大量数据操作,对数据库性能要求很高,生产实际使用前,最好进行一下压测