boot分页

boot分页_第1张图片

 List<ElectricDispatchTodoPO> todoList = electricDispatchTodoService.queryTodlList(vo, sysStaffVO);
            // 计算总记录数
            int total = todoList.size();
            // 如果总记录数大于0
            PageInfo<ElectricDispatchTodoPO> pageInfo = new PageInfo<>();
            if (total > 0) {
                // pageHelper无效,手动分页,流操作:sorted排序、skip跳记录和limit限制显示记录数
                List<ElectricDispatchTodoPO> collect = todoList.stream().sorted(Comparator.comparing(ElectricDispatchTodoPO::getWorkitemCreateTime).reversed())
                        .skip((long) (vo.getPageNumber() - 1) * vo.getPageSize()).limit(vo.getPageSize()).collect(Collectors.toList());
                // 计算总页数
                int pageSum = total % vo.getPageSize() == 0 ? total / vo.getPageSize() : total / vo.getPageSize() + 1;
                // 重新开始分页
                PageHelper.startPage(vo.getPageNumber(), vo.getPageSize());
                // 重新封装分页对象
                pageInfo = new PageInfo<>(collect);
                // 总记录数
                pageInfo.setTotal(total);
                // 总页数
                pageInfo.setPages(pageSum);
                // 清除分页缓存
                PageHelper.clearPage();
            }
            object.put("todos", pageInfo);
            jsonObject.put(Consts.CODE, 200);
            jsonObject.put(Consts.MSG, "查询成功");
            jsonObject.put(Consts.DATA, object);
            return jsonObject;

你可能感兴趣的:(java)