一、條件批量:
<update id="updateBusinessIdByUuid" parameterType="map">
UPDATE
attachment
SET
business_id=#{businessId}
WHERE
uuid in
<foreach close=")" collection="list" item="item" open="(" separator=",">
#{item}
</foreach>
</update>
二、多個語句(拼接多條語句):
這個需要修改数据库连接配置:&allowMultiQueries=true
<update id="updateList" parameterType="java.util.List">
<foreach collection="list" item="bean" index="index" open="" close="" separator=";">
UPDATE
elderinfo
<set>
age = #{bean.age}
</set>
WHERE
id=#{bean.id}
</foreach>
</update>
**三、只執行一次(效率高):
使用的是case…when…then…end 拼接
prefix:在trim标签内sql语句加上前缀。
suffix:在trim标签内sql语句加上后缀。
suffixOverrides:指定去除多余的后缀内容,如:suffixOverrides=",",去除trim标签内sql语句多余的后缀","。
prefixOverrides:指定去除多余的前缀内容
<update id="batchUpdate" parameterType="map">
update
policy_catalogue_header
<trim prefix="set" suffixOverrides=",">
<trim prefix="name = case" suffix="end,">
<foreach collection="list" item="item" index="index">
when
id = #{item.headerId}
then
#{item.headerName}
</foreach>
</trim>
</trim>
where
id in
<foreach collection="list" index="index" item="item" separator="," open="(" close=")">
#{item.headerId}
</foreach>
</update>