分页

分页

public class LogicPageUtil<T> {

    /**
     * 获取指定页码的集合
     *
     * @param list
     * @param current 第几页,从 1 开始
     * @param size    每页大小
     * @return
     */
    public List<T> getRowsOfPage(List<T> list, int current, int size) {
        if (CollectionUtils.isEmpty(list)) {
            return new ArrayList<>();
        }
        List<T> rowsOfPage;
        if (current * size <= list.size()) {
            rowsOfPage = list.subList((current - 1) * size, current * size);
        } else {
            rowsOfPage = list.subList((current - 1) * size, list.size());
        }
        return rowsOfPage;
    }
}
分页2

public class PageUtil {

    // mysql 分页: select ... limit offset, rowCount

    /**
     * 获取偏移量(从 0 开始)
     *
     * @param pageNum  第几页(从 1 开始)
     * @param pageSize 每页数据条数
     * @return
     */
    public static Integer getOffset(Integer pageNum, Integer pageSize) {
        return (pageNum - 1) * pageSize;
    }

    /**
     * 获取每页数据条数
     *
     * @param pageSize 每页数据条数
     * @return
     */
    public static Integer getRowCount(Integer pageSize) {
        return pageSize;
    }

    /**
     * 获取总共多少页
     *
     * @param pageSize   每页数据条数
     * @param totalCount 总数据条数
     * @return
     */
    public static Integer getTotalPages(Integer pageSize, Integer totalCount) {
        if (totalCount % pageSize == 0) {
            return totalCount / pageSize;
        } else {
            return totalCount / pageSize + 1;
        }
    }
}
posted @ 2025-01-04 23:03  凛冬雪夜  阅读(14)  评论(0)    收藏  举报