猿问

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

普通修改

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}


桃花长相依
浏览 6547回答 5
5回答

weixin_慕婉清8157785

升级3.X,可用service.update(entity,querywrapper) 或者 service.update(updatewrapper)前者按实体类非null的值更新,querywrapper传where条件后者的updatewrapper有set(column,val)更新新值 和 跟querywrapper一样可传where条件

暮色呼如

//实体类的条件更新public void update(WebUser webUser){webUser.setUpdated(new Date());webUsersXgMapper.update(webUser,new EntityWrapper().eq("item_id","123").eq("user_id",345));)}

慕斯王

可以尝试重写他的update方法

慕丝7291255

方法:根据条件查询出所有的,然后设置字段,在更具ID修改。List<WebUser>&nbsp;list&nbsp;=&nbsp;this.webUsersXgMapper.selectList( &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new&nbsp;QueryWrapper<WebUser>() &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.eq("item_id",&nbsp;"123") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.eq("user_id",&nbsp;"345")); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list.forEach(l&nbsp;->&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l.setNum(2); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l.setUpdated(new&nbsp;Date()); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.webUsersXgMapper.updateById(l) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});方法2: 条件修改webUser.setUpdated(new&nbsp;Date()); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;webUser.setNum(2); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this.webUsersXgMapper.update(webUser,new&nbsp;QueryWrapper<WebUser>() &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.eq("item_id",&nbsp;"123") &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.eq("user_id",&nbsp;"345"));

MMTTMM

刚看了下,2x版本没有这些东西,我用的mybatis-plus-boot-start的3x版本,结合springboot,
随时随地看视频慕课网APP

相关分类

Java
我要回答