批量更新
1.多条件多值
int updateSelectiveBatch(List<IdsHandoverTasks> list);
<update id="updateSelectiveBatch" parameterType="java.util.List">
<foreach collection="list" item="item" separator=";">
UPDATE nodes_pc
<trim prefix="set" suffixOverrides=",">
<if test="null !=item.pressureUpUp ">
pressure_up_up = #{item.pressureUpUp},
</if>
<if test="null != item.pressureUp ">
pressure_up = #{item.pressureUp},
</if>
<if test="null !=item.pressureDown">
pressure_down =#{item.pressureDown},
</if>
</trim>
where name = #{item.name}
</foreach>
</update>
2.同值多条件
<update id="updateNodesPcAll" parameterType="com.intelligent.scheduling.entity.vo.NodesNetBatchVo">
UPDATE nodes_pc
<set>
<if test="null !=pressureUpUp ">
pressure_up_up = #{pressureUpUp},
</if>
<if test="null !=pressureUp ">
pressure_up = #{pressureUp},
</if>
<if test="null !=pressureDown">
pressure_down =#{pressureDown},
</if>
</set>
where pressure_type in
<foreach item="pressureType" index="index" collection="pressureTypeList" open="(" separator="," close=")">
#{pressureType}
</foreach>
</update>
批量插入
<!-- 批量新增 -->
<insert id="insertSelectiveBatch" parameterType="java.util.List">
insert into ids_handover_tasks_log
(tasks_log_uuid,tasks_uuid,handover_log_id,tasks_name,tasks_content,
tasks_state,create_user,create_at,update_user,update_at)
values
<foreach collection="list" item="item" index="index" separator=",">
(#{item.tasksLogUuid},#{item.tasksUuid},#{item.handoverLogId},#{item.tasksName},#{item.tasksContent},
#{item.tasksState},#{item.createUser},#{item.createAt},#{item.updateUser},
#{item.updateAt})
</foreach>
</insert>