普通修改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}
5 回答
weixin_慕婉清8157785
TA贡献1条经验 获得超0个赞
升级3.X,可用service.update(entity,querywrapper) 或者 service.update(updatewrapper)
前者按实体类非null的值更新,querywrapper传where条件
后者的updatewrapper有set(column,val)更新新值 和 跟querywrapper一样可传where条件
暮色呼如
TA贡献1853条经验 获得超9个赞
//实体类的条件更新
public void update(WebUser webUser){
webUser.setUpdated(new Date());
webUsersXgMapper.update(webUser,
new EntityWrapper()
.eq("item_id","123")
.eq("user_id",345));
)
}
慕丝7291255
TA贡献1859条经验 获得超6个赞
方法:根据条件查询出所有的,然后设置字段,在更具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"));
添加回答
举报
0/150
提交
取消