Mybatis批量更新多个字段

<update id="updateUserbath" parameterType="java.util.List">
    update mp_user
<trim prefix="set" suffixOverrides=",">

    <trim prefix="name=case" suffix="end,">
        <foreach collection="list" item="item" index="index">
            when id = #{item.id} then #{item.name}
        </foreach>
    </trim>
    
    <trim prefix="age=case" suffix="end,">
        <foreach collection="list" item="item" index="index">
            when id = #{item.id} then #{item.age}
        </foreach>
    </trim>
</trim>
        where id in
    <foreach collection="list" index="index" item="item"
     separator="," open="(" close=")">
    #{item.id,jdbcType=INTEGER}
    </foreach>
</update>
        
    
    
例子1:
update mp_user set 
name=case when id = 1 then 'xiaoming' 
when id = 2 then 'xiaohong' end, 

age=case when id = 1 then 19  
when id = 2 then 20 end 

where id in ( 1 , 2 );

例子2:
update score set 
score = case when id=1 then 2 when id=2 then 5 end ,
update_time = case when id = 1 then SYSDATE() when id = 2 then SYSDATE() end 
where id in (1,2)