- DAO层
Integer updateUserList(
@Param(value = "list") List<Integer> userIdList);
2.xml语句
<update id="updateUserList">
UPDATE user_info
<trim prefix="set" suffixOverrides=",">
<trim prefix="age=case" suffix="end,">
<foreach collection="list" item="cus">
WHEN user_id =#{cus.userId} THEN #{cus.age}
</foreach>
</trim>
<trim prefix="address=case" suffix="end,">
<foreach collection="list" item="cus">
WHEN user_id =#{cus.userId} THEN #{cus.address}
</foreach>
</trim>
</trim>
<where>
<foreach collection="list" separator="or" item="cus">
user_id =#{cus.userId}
</foreach>
</where>
</update>
3.执行输出
UPDATE user_info
SET age =
CASE
WHEN user_id = 30069 THEN 18
WHEN user_id = 30068 THEN 20
END,
address =
CASE
WHEN user_id = 30069 THEN '浙江杭州'
WHEN user_id = 30068 THEN '四川成都'
END
WHERE user_id = 30069 OR user_id = 30068
这篇博客介绍了如何使用DAO层的方法批量更新用户信息,具体涉及一个XML更新语句,该语句通过CASE WHEN结构分别更新用户年龄和地址,根据用户ID进行条件匹配。执行结果显示,更新操作会根据传入的用户ID列表,逐条设置用户的年龄和地址,并在WHERE子句中拼接所有ID,实现批量更新。
660

被折叠的 条评论
为什么被折叠?



