批量插入
<insert id="insertBatch" parameterType="java.util.List">
INSERT INTO `table`
(
`a`,
`b`,
`c`,
`d`
)
VALUES
<foreach collection="list" item="item" index="index" separator=",">
<trim prefix="(" suffix=")" suffixOverrides=",">
#{item.A},#{item.B},#{item.C},#{item.D}
</trim>
</foreach>
</insert>
批量删除
<delete id="deleteById" parameterType = "java.XXX.Test">
delete from test where id in ${ids}
</delete>
<delete id="deleteById" parameterType = "java.util.List">
delete from test where id in
<foreach collection="list" item="item" open="(" separator="," close=")" >
#{item}
</foreach>
</delete>
批量更新
<update id="batchUpdate" parameterType="com.XXX.XXX.Test">
update test
<set>
<if test="a != null">
a = #{A,jdbcType=VARCHAR},
</if>
<if test="b != null">
b= #{B,jdbcType=VARCHAR},
</if>
<if test="c!= null">
c= #{C,jdbcType=VARCHAR},
</if>
</set>
where d in ( ${Ds} )
</update>
<update id="batchUpdate" parameterType="com.XXX.XXX.Test">
update test
<trim prefix="set" suffixOverrides=",">
<trim prefix="status =case" suffix="end,">
<foreach collection="list" item="item" index="index">
when id=#{item.id} then #{item.status}
</foreach>
</trim>
</trim>
where id in
<foreach collection="list" index="index" item="item" separator="," open="(" close=")">
#{item.id,jdbcType=BIGINT}
</foreach>
</update>