1125rx 2022-07-29 15:34 采纳率: 100%
浏览 141
已结题

QueryWrapper初始化就带有条件

问题遇到的现象和发生背景

在使用Mybatis-plus的querywrapper时,初始化就自动带有查询条件是怎么回事?

问题相关代码,请勿粘贴截图
    @GetMapping("/search")
    public List<User> searchUser(String userAccount,HttpServletRequest request){
        if (!isTeacher(request))
            return new ArrayList<>();
        QueryWrapper<User> queryWrapper=new QueryWrapper<>();
        if (StringUtils.isNotBlank(userAccount))
            queryWrapper.like("userAccount",userAccount).eq("userRole",1);
        List<User> userList=userService.list(queryWrapper);
        return userList.stream().map(user -> {
            return userService.getSafetyUser(user);
        }).collect(Collectors.toList());
    }

运行结果及报错内容

img

如图所示,生成的sql语句自动带有查询条件“where userStatus = 0”
请问如何去掉这一查询条件?

  • 写回答

1条回答 默认 最新

  • 林晓风 2022-07-29 15:43
    关注

    检查一下你的对象里面这个字段userStatus 的类型,如果是int,需要改为Integer,如果是boolean,需要改为Boolean,使用对应的包装类型

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 8月8日
  • 已采纳回答 7月31日
  • 创建了问题 7月29日