批量修改
使用一条sql语句更新
<update id="batchUpdateStatus">
UPDATE cust_vehicle
<trim prefix="set" suffixOverrides=",">
<trim prefix="update_status = case" suffix="end,">
<foreach collection="list" item="i" index="index">
<if test="i.updateStatus != null">
when id=#{i.id} then #{i.updateStatus}
</if>
</foreach>
</trim>
<trim prefix="update_time = case" suffix="end," >
<foreach collection="list" item="i" index="index">
<if test="i.updateTime != null">
when id=#{i.id} then #{i.updateTime}
</if>
</foreach>
</trim>
</trim>
where
<foreach collection="list" separator="or" item="i" index="index" >
id=#{i.id}
</foreach>
</update>
<trim>属性说明
1.prefix,suffix 表示在trim标签包裹的部分的前面或者后面添加内容
2.如果同时有prefixOverrides,suffixOverrides 表示会用prefix,suffix覆盖Overrides中的内容。
3.如果只有prefixOverrides,suffixOverrides 表示删除开头的或结尾的xxxOverides指定的内容。
批量查询
<select id="selectUserDataList" parameterType="list" resultType="String">
select userData from tbl_hbb_user_info where mobile in
<foreach collection="list" item="item" index="index" open="(" close=")"
separator=",">
#{item.mobile}
</foreach>
</select>
批量添加
<insert id="insertBatch">
INSERT INTO channel_info
<include refid="insertColumns"/>
VALUES
<foreach collection="list" item="entity" index="index" separator=",">
(#{entity.id},#{entity.channelCode},#{entity.companyId},#{entity.companyName},
#{entity.customerId},#{entity.pid},#{entity.userId},#{entity.userName},
#{entity.taxRate},#{entity.billingType},#{entity.sealTransverseText},
#{entity.sealSecurityCode},#{entity.signStatus},#{entity.signTime},
#{entity.signId},#{entity.status},#{entity.remark},#{entity.createBy},
#{entity.createTime},#{entity.updateBy},#{entity.updateTime},#{entity.del})
</foreach>
</insert>