普通修改
public void update(WebUser webUser){
webUser.setUpdated(new Date());
webUsersXgMapper.updateById(webUser);
}
如果我想实现根据某两个字段来修改这条数据应该怎么修改
如果使用sql语句大概就是这样写,但是我想使用mybatis plus来实现
请问,应该如何实现呢
update tb_cart set num = #{num}, updated = #{updated}
where item_id = #{itemId} and user_id = #{userId}
//实体类的条件更新
public void update(WebUser webUser){
webUser.setUpdated(new Date());
webUsersXgMapper.update(webUser,
new EntityWrapper()
.eq("item_id","123")
.eq("user_id",345));
)
}
可以尝试重写他的update方法
方法:根据条件查询出所有的,然后设置字段,在更具ID修改。
List<WebUser> list = this.webUsersXgMapper.selectList(
new QueryWrapper<WebUser>()
.eq("item_id", "123")
.eq("user_id", "345"));
list.forEach(l -> {
l.setNum(2);
l.setUpdated(new Date());
this.webUsersXgMapper.updateById(l)
});
方法2: 条件修改
webUser.setUpdated(new Date());
webUser.setNum(2);
this.webUsersXgMapper.update(webUser,new QueryWrapper<WebUser>()
.eq("item_id", "123")
.eq("user_id", "345"));