MyBatis中,如何根据主键ID集合,批量更新表中某个属性的值
一、在XxxServiceImpl.java的服务类中,根据ids集合,批量更新表中的编号为xxNo的值
@Override
public void updateQuestionNoByIds(List<Long> ids,String xxNo) {
uploadFileMapper.updateQuestionNoByIds(ids, xxNo);
}
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);
}
/**
* 根据上传文件的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">
<!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>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)