1.xml中书写的方式
<update id="batchUpdate" parameterType="list">
update songs
<trim prefix="set" suffixOverrides=",">
<trim prefix="path =case" suffix="end,">
<foreach collection="list" item="i" index="index">
<if test="i.songid!=null">
when songid=#{i.songid} then #{i.path}
</if>
</foreach>
</trim>
</trim>
where songid in
<foreach collection="list" item="i" index="index" open="(" separator="," close=")">
#{i.songid}
</foreach>
</update>
2.Mapper中方法
void batchUpdate(List<Songs> recordList);
3.打印出来的sql格式
UPDATE songs
SET path =
CASE SONGID
WHEN \'10800537\' THEN \'C:/songs/10800537.mpg\'
WHEN \'10800118\' THEN \'C:/songs/10800118.mpg\'
END
WHERE SONGID IN (\'10800537\',\'10800118\')