(一)批量新增
dao 层处理
Integer insertTaskJobRecords( @Param(value="list") List<TaskJobRecord> taskJobRecordList);
mapper处理
<insert id="insertTaskJobRecords"> INSERT INTO task_job_record(job_unique_id,process_node_code,user,status,pool_config_id) VALUES <foreach collection="list" item="emp" separator=","> (#{emp.jobUniqueId},#{emp.processNodeCode},#{emp.user},#{emp.status}, #{emp.poolConfigId}) </foreach> </insert>
(二)批量更新
方法一:
dao层
Integer updateTaskJobList( @Param("list") List<TaskJob> taskJobList);
mapper处理
<update id="updateTaskJobList" parameterType="java.util.List"> update task_job set is_lock = <foreach collection="list" item="item" index="index" separator=" " open="case job_unique_id" close="end"> when #{item.jobUniqueId,jdbcType=BIGINT} then #{item.isLock,jdbcType=INTEGER} </foreach> ,product_user = <foreach collection="list" item="item" index="index" separator=" " open="case job_unique_id" close="end"> when #{item.jobUniqueId,jdbcType=BIGINT} then #{item.productUser,jdbcType=VARCHAR} </foreach> ,product_status= <foreach collection="list" item="item" index="index" separator=" " open="case job_unique_id" close="end"> when #{item.jobUniqueId,jdbcType=BIGINT} then #{item.productStatus,jdbcType=TIMESTAMP} </foreach> where job_unique_id in <foreach collection="list" index="index" item="item" separator="," open="(" close=")"> #{item.jobUniqueId,jdbcType=BIGINT} </foreach> </update>
方法二:
dao 层:
Integer recoveryTaskByTaskIds( List<Long> taskIds);
mapper处理:
<update id="recoveryTaskByTaskIds" parameterType="java.util.List"> UPDATE task_job <set> product_user=null , product_status=1, is_lock=0 </set> where is_delete= 0 AND job_unique_id in <foreach item="item" collection="list" open="(" separator="," close=")"> #{item} </foreach> </update>