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

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

        //开启分页
        PageHelper.startPage(page, limit);
        List allUserList = userService.getAllUserList(name);
        //新建存储集合
        List 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 pageInfo = new PageInfo<>(allUserList);
        pageInfo.setList(allUserListStatus);
        return ResultUtil.ok(pageInfo);

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

你可能感兴趣的:(java)