UPDATE order_item oi
INNER JOIN (
<trim suffixOverrides="UNION ALL">
// 传进一个集合循环之后拼接成一个张临时表
<foreach collection="list" item="item" index="index">
SELECT
#{item.finalPayeeId} final_payee_id,
#{item.lastModifiedDate} last_modified_Date,
#{item.version} version,
#{item.id} id
FROM
DUAL
UNION ALL
</foreach>
</trim>
) du
ON du.id = oi.id
SET
// 修改的数据,将临时表的数据赋值给要修改的表,通过where条件关联
oi.final_payee_id = du.final_payee_id,
oi.last_modified_Date = du.last_modified_Date,
oi.version = du.version
//两表关联条件
where oi.id = du.id
mybatis 批量修改单表数据(通过临时表方式提高性能)
于 2024-04-08 09:53:15 首次发布