批量新增两种方式:
①:使用case when end形式
update capital_invoice_item
set
status=
case id then 1 then 11
case id then 2 then 22
end
where id in (1,2)
UPDATE capital_invoice_item
<trim prefix="set" suffixOverrides=",">
<trim prefix="status= case id" suffix="end,">
<foreach collection="list" item="item">
<if test="item.status != null">
WHEN #{item.id} then #{item.status}
</if>
</foreach>
</trim>
</trim>
WHERE id IN
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item.id}
</foreach>
prefix:前缀
suffixOverrides:去掉最后一个","
suffix:后缀
foreach:循环标签
collection:需要迭代的内容
item表示集合中每一个元素进行迭代时的别名,
index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置,
open表示该语句以什么开始, separator表示在每次进行迭代之间以什么符号作为分隔 符,
close表示以什么结束
②:循环插入
<update id="">
<foreach collection="list" item="item">
UPDATE bill_files
set a= #{item.aa},
b = #{item.bb}
WHERE ....
</foreach>
</update>