JavaSE-分页工具方法


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

/**
     *
     * @param pageNo 第几页
     * @param pageSize 每页记录数
     * @param list 要分页的集合
     * @param  借用mybatisPlus的分页对象
     * @return
     */
    public static  Page getPage(Integer pageNo, Integer pageSize, List list) {
        Page 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 pageDataTableInfoDTO = list.subList(beginIndex, endIndex);

        page.setRecords(pageDataTableInfoDTO);

        return page;

    }