<update id="updateBatch" parameterType="java.util.List">
update mysql_table
<trim prefix="set" suffixOverrides=",">
<trim prefix="status =case" suffix="end,">
<foreach collection="list" item="item" index="index">
when id=#{item.id} then #{item.status}
</foreach>
</trim>
</trim>
where id in
<foreach collection="list" index="index" item="item" separator="," open="(" close=")">
#{item.id,jdbcType=BIGINT}
</foreach>
</update>
个人认为这样比较好,第一种多次数据连接和释放会造次连接超时等问题。第二种比较适合
第一种方式,不太可取,会多次访问数据库
建议第二种,如果是mybatis的话可以用动态语句,非常实用