目录

(一)批量新增

(二)批量更新

​编辑

三,批量删除

单参数:

多参数:

 多参数方式2


(一)批量新增

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>


 

三,批量删除

单参数:

<delete id="deleteAccountByIds" parameterType="String">
    delete from account where id in 
    <foreach item="id" collection="array" open="(" separator="," close=")">
        #{id}
    </foreach>
</delete>

多参数:

int deleteByResearchIdAndUserIds(@Param("researchId") Long researchId, @Param("ids") Long[] ids);
<delete id="deleteByResearchIdAndUserIds" parameterType="String">
    delete
    from assistant_info
    where research_id = #{researchId} and user_id in
    <foreach item="id" collection="ids" open="(" separator="," close=")">
        #{id}
    </foreach>

</delete>

 多参数方式2

1.批量删除

String imagePropertyIdListStr = "(" + Joiner.on(",").join(imagePropertyIdList) + ")";

int deleteByRecordIdAndPropertyIds(@Param("recordId") Long recordId ,
                                   @Param("imagePropertyIdListStr") String imagePropertyIdListStr);
<delete id="deleteByRecordIdAndPropertyIds" parameterType="java.util.Map">
    delete
    from patient_record_files
    where record_id = #{recordId}
      and property_id in ${imagePropertyIdListStr}

</delete>

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐