MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生.
代码的实现功能为:
使用UpdateWrapper构造器实现多选更改数据库信息.
@ApiOperation(value = "审核状态", notes = "审核状态")
@PutMapping("/modelaudit")
public R audit(@RequestBody SysBusi sysBusi){
UpdateWrapper<SysBusi> wrapper = new UpdateWrapper<>();
wrapper.in("id",sysBusi.getId());
if (sysBusi.getAuditStatus() == null ||sysBusi.getAuditStatus().equals("1001")){
wrapper.set("audit_status","1005");
}else {
wrapper.set("audit_status","1001");
}
return R.ok(sysBusi.update(wrapper));
}
遇到的问题是:
逻辑、代码没问题,当从页面使用的时候控制台不报错,而且生成的 SQL语句在数据库是可以运行并且成功更改数据的.
问题解决:
前端传过来的 id 方式为 id={'.... , .... ,'} 而我接收的值为方式为: id={'....','....','....'}, 所以需要加一个String的 split 方法.就可完美解决此问题啦!
@ApiOperation(value = "审核状态", notes = "审核状态")
@PutMapping("/modelaudit")
public R audit(@RequestBody SysBusi sysBusi){
UpdateWrapper<SysBusi> wrapper = new UpdateWrapper<>();
wrapper.in("id",sysBusi.getId().split(","));
if (sysBusi.getAuditStatus() == null ||sysBusi.getAuditStatus().equals("1001")){
wrapper.set("audit_status","1005");
}else {
wrapper.set("audit_status","1001");
}
return R.ok(sysBusi.update(wrapper));
}