actualización por lotes de java, agregar, eliminar, cambiar

(1) Agregar lote

Procesamiento de capa de Dao

Integer insertTaskJobRecords( @Param(value="list") List<TaskJobRecord> taskJobRecordList);

procesamiento del mapeador

   <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>

 

(2) Actualización por lotes

método uno:

capas de dao

  Integer updateTaskJobList( @Param("list") List<TaskJob> taskJobList);

procesamiento del mapeador

   <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>

 

 

Método dos:

capas de dao:

  Integer recoveryTaskByTaskIds( List<Long> taskIds);

Procesamiento del mapeador:

 <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>


 

 

Supongo que te gusta

Origin blog.csdn.net/CUITAO2305532402/article/details/111566392
Recomendado
Clasificación