我的场景是根据多个id更新某个字段:

相当于sql语句:

update tb set name="zhangsan" where id in (1,2,3...)

①mapper.java文件和mapper.xml中分别添加代码:

int batchUpdateByPrimaryKey(Map map);

update systeminfo

set SystemLevelID = #{systemLevel,jdbcType=VARCHAR}

where SystemID in

#{params}

service中代码:

@Override

public CommonResult batchChangeSystemLevel(String systemInfos) {

JSONObject jsonObject = JSON.parseObject(systemInfos);

String systemIDs = jsonObject.getString("systemIDs");

String systemLevel = jsonObject.getString("systemLevel");

Map map = new HashMap<>();

map.put("systemLevel",systemLevel);

List systemIDList= Arrays.asList(systemIDs.split(","));

map.put("systemIDList",systemIDList);

systemInfoMapper.batchUpdateByPrimaryKey(map);

return CommonResult.ok();

}

controller中代码

public CommonResult batchChangeSystemLevel(@RequestBody String systemInfos) {

CommonResult result = systemInfoService.batchChangeSystemLevel(systemInfos);

return result;

}

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐