解决PageHelper.startPage(page, size)后,关于PageInfo的total等属性不正确等问题

出现这样的原因主要是对数据库中查出的集合进行了逻辑判断,total的数量显示与size相同,而不是总条数

        //开启分页
        PageHelper.startPage(page, limit);
        List<User> allUserList = userService.getAllUserList(name);
        //新建存储集合
        List<User> allUserListStatus = new ArrayList<>();
        //判定用户状态,status的状态,数值1为正常状态用户,数值2为禁用状态用户
        for (User user : allUserList) {
            Integer status = user.getStatus();
            if(status==1){
                if(roleId!=-1){
                    Integer roleIdUser = user.getUserRole().getRoleId();
                    if(roleId.equals(roleIdUser)){
                        allUserListStatus.add(user);
                    }
                }else{
                    allUserListStatus.add(user);
                }

            }

        }

        PageInfo<User> pageInfo = new PageInfo<>(allUserList);
        pageInfo.setList(allUserListStatus);
        return ResultUtil.ok(pageInfo);

pageInfo.setList(allUserListStatus);
这个构造方法是重置pageinfo的pojo对象的list属性,只赋值我们想要的size数量的集合

发布了45 篇原创文章 · 获赞 1 · 访问量 1065

猜你喜欢

转载自blog.csdn.net/lqq404270201/article/details/104387876