JavaSE-分页工具方法

借用mybatisPlus的分页对象,可以自己创建一个
此方法针对集合设置分页,与SQL无关。

/**
     *
     * @param pageNo 第几页
     * @param pageSize 每页记录数
     * @param list 要分页的集合
     * @param <T> 借用mybatisPlus的分页对象
     * @return
     */
    public static <T> Page<T> getPage(Integer pageNo, Integer pageSize, List<T> list) {
        Page<T> page = new Page<>();

        pageNo = pageNo == null || pageNo == 0 ? 1 : pageNo;
        pageSize = pageSize == null || pageSize == 0 ? 10 : pageSize;

        page.setCurrent(pageNo);
        page.setSize(pageSize);
        page.setTotal(list.size());


        int beginIndex = (pageNo - 1) * pageSize;
        int endIndex = beginIndex + pageSize;

        if (CollectionUtils.isEmpty(list) || beginIndex > list.size()) {
            return page;
        }

        endIndex = Math.min(endIndex, list.size());

        List<T> pageDataTableInfoDTO = list.subList(beginIndex, endIndex);

        page.setRecords(pageDataTableInfoDTO);

        return page;

    }
posted @ 2022-06-01 18:28  生生灯火半杯月  阅读(38)  评论(0)    收藏  举报