MyBatis中,如何根据主键ID集合,批量更新表中某个属性的值

一、在XxxServiceImpl.java的服务类中,根据ids集合,批量更新表中的编号为xxNo的值

@Override
public void updateQuestionNoByIds(List<Long> ids,String xxNo) {
  uploadFileMapper.updateQuestionNoByIds(ids, xxNo);
}
 
二、在XxxMapper.java类中,传递ids集合参数和编号参数
public interface XxxMapper extends BaseMapper<UploadFile> {
/**
* 根据上传文件的ids,更新上传文件表中的xx单编号
*
* @param ids ids
*/
void updateQuestionNoByIds(@Param("ids") List<Long> ids, @Param("xxNo") String xxNo);
}
 
三、在XxxMapper.xml文件中进行更新
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xxx.cloud.order.domain.mapper.XxxMapper">

<!-- 根据上传文件的ids,更新上传文件表中的问题单 -->
<update id="updatexxNoByIds" parameterType="java.util.List">
UPDATE oss_upload_file_log
SET
relation_id = #{xxNo}
WHERE 1=1
AND id IN
<foreach collection="ids" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</update>


</mapper>
 
posted @ 2024-02-20 16:22  勇敢-的心  阅读(240)  评论(0编辑  收藏  举报