手动数据分页

    public static PageInfo<Long> cutPage(SegmentVo vo, List<Long> segmentIds) {
        PageInfo<Long> result = new PageInfo<>();
        // 总条数
        int total = segmentIds.size();
        int currentPage = vo.getPageNo();
        int pageSize = vo.getPageSize();
        List<Long> pageList = new ArrayList<>();
        if ( total > pageSize){
            int toIndex =  pageSize * currentPage;
            if (toIndex > total){
                toIndex = total;
            }
            if (total < pageSize * (currentPage - 1)) {
                pageList = new ArrayList<>();
            } else {
                pageList = segmentIds.subList(pageSize * (currentPage - 1), toIndex);
            }
        } else {
            pageList.addAll(segmentIds);
        }
        result.setRecords(pageList);
        result.setTotal((total / pageSize)+(total % pageSize !=0? 1 : 0));
        return result;
    }
@Data
public class PageInfo<T> implements Serializable {

    private List<T> records;
    private Integer total;

}

你可能感兴趣的:(java,spring,前端,java)