java--批量更新,新增,删除,更改
(一)批量新增dao 层处理Integer insertTaskJobRecords( @Param(value="list") List<TaskJobRecord> taskJobRecordList);mapper处理<insert id="insertTaskJobRecords">INSERT INTO task_job_record(job_unique_id,
·
目录
(一)批量新增
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>
更多推荐
已为社区贡献2条内容
所有评论(0)