分页方案一:自定义Utils

一. 准备返回结果集时的实体类

package com.example.entity;

import lombok.Data;
import org.apache.poi.ss.formula.functions.T;

import java.util.List;

@Data
public class PageEntity {
    /**
     * 总条数
     */
    private Integer total;

    /**
     * 总页数
     */
    private Integer totalPage;

    /**
     * 当前数据
     */
    private List<T> items;

    /**
     * 当前页数
     */
    private Integer page;

    /**
     * 每页的大小
     */
    private Integer pageSize;
}

二. 分页工具类

package com.example.utils;

import com.example.entity.PageEntity;

import java.util.List;

public class PageUtil {

    /**
     * @Author
     * @Description 全部查询 分页截取
     * @Date 2021/1/15
     * @Param [list 数据集, page 当前页, size 每页条数]
     * @Return java.util.List<org.apache.poi.ss.formula.functions.T>
     */
    public static PageEntity page(List list, Integer page, Integer size) {
        if (page == null || size == null) {
            page = 1;
            size = 10;
        }
        int start = 0; //截取开始位置
        int end = 0; //截取结束位置
        int total = list.size(); //数据总条数
        int totalPage = 0; //总页数
        /* if 取出所有数据 else 取出指定数据 */
        if (total / size == 0 && total % size > 0) {
            start = 0;
            end = total;
        } else {
            if (total / size >= 1 && total % size >= 0) {
                start = (page - 1) * size;
                if (size * page >= total) {
                    end = total;
                } else {
                    end = size * page;
                }
            }
        }
        /* 计算页码 */
        if (total % size == 0) {
            totalPage = total / size;
        } else {
            totalPage = total / size + 1;
        }

        PageEntity pageEntity = new PageEntity();
        pageEntity.setItems(list.subList(start, end));//截取后的结果集
        pageEntity.setTotalPage(totalPage);//总页数
        pageEntity.setPage(page);//当前页数
        pageEntity.setPageSize(size);//每页条数
        pageEntity.setTotal(total);//总条数
        return pageEntity;
    }
}

三. 测试

public static void main(String[] args){
    PageEntity p = PageUtil.page(new ArrayList(), 1, 10);
    System.out.println(p);
}
输出: