头图
/**
 * 处理接口返回数据, 获取分页后的数据列表
 *
 * @param list     待分页数据列表
 * @param pageNum  页码
 * @param pageSize 页面数量
 * @return com.github.pagehelper.PageInfo
 * @author chengxianwei
 * @date 2023/1/12
 */
public static <T> PageInfo startPageList(List<T> list, Integer pageNum, Integer pageSize) {
    // 总条数
    int total = list.size();
    // 页大小
    int size = pageNum * pageSize;
    // 总页数 总条数 取模 页大小
    int pages = total % size == 0 ? total / size : total / size + 1;
    // 结束索引 页大小大于总条数时,为总条数, 否则为页大小
    int toIndex = size > total ? total : size;

    // 开始索引
    int fromIndex = (pageNum - 1) * pageSize;
    if (fromIndex > toIndex) {
        fromIndex = 1;
    }

    // 截取数据
    List<T> dataList = list.subList(fromIndex, toIndex);

    // 分页数据
    PageInfo<T> pageInfo = new PageInfo<>(list);
    pageInfo.setTotal(total);
    pageInfo.setPages(pages);
    pageInfo.setPageNum(pageNum);
    pageInfo.setPageSize(pageSize);
    pageInfo.setList(dataList);

    return pageInfo;
}

蚕1蚕2
1 声望0 粉丝