为了账号安全,请及时绑定邮箱和手机立即绑定

spring-boot里面mybatis plus2.0如果实现条件删除和条件修改呢

spring-boot里面mybatis plus2.0如果实现条件删除和条件修改呢

桃花长相依 2019-04-11 22:19:37
普通修改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条件

查看完整回答
反对 回复 2019-12-17
?
暮色呼如

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));
)
}

查看完整回答
反对 回复 2019-05-14
?
慕斯王

TA贡献1864条经验 获得超2个赞

可以尝试重写他的update方法


查看完整回答
反对 回复 2019-05-14
?
慕丝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"));


查看完整回答
反对 回复 2019-05-14
?
MMTTMM

TA贡献1869条经验 获得超4个赞

刚看了下,2x版本没有这些东西,我用的mybatis-plus-boot-start的3x版本,结合springboot,

查看完整回答
反对 回复 2019-05-14
  • 5 回答
  • 0 关注
  • 6546 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信