PageHelper分页插件用不了,自定义分页

 采用PageHelper进行

Page page = null;

int pageNum = query.getDisplay().getPageNum();
int pageSize = query.getDisplay().getPageSize();
page = PageHelper.startPage(pageNum, pageSize);

if (page != null) {
                rv.setPaging(new Paging(page.getTotal(), page.getPageNum(), page.getPageSize(), page.getPages()));
            } 
  

 自定义分页

{
Page page = new Page<>();
            int pageNum = 1;
            int pageSize = 25;

            if (query.getDisplay() != null && query.getDisplay().isPaging()) {
                pageNum = query.getDisplay().getPageNum();
                pageSize = query.getDisplay().getPageSize();
            }

            List a= serviceA.search(query);
            List b= serviceB.search(query);

            a.addAll(b);

            page.setTotal(a.size());

            int pages = getpages(a, pageNum, pageSize);
            a= handleAuthzs(a, pageNum, pageSize);

            rv.setPaging(new Paging(page.getTotal(), pageNum, pageSize, pages));

            PolicyResult policyResult = new PolicyResult();
            policyResult.setPassed(true);
}

//重点
private int getpages(List a, int pageNum, int pageSize) {
        // 获取需要计算分页数的数据
        double remainder = a.size() % pageSize;
        int result = a.size() / pageSize;
        return remainder == 0 ? result : result+1;
    }

    /* 返回分页列表 */
    private List handleAuthzs(List a, int pageNum, int pageSize) {
        // 返回子串,计算字串位置
        int begin = (pageNum-1)*pageSize;
        int endNum = pageNum*pageSize;
        int end = Math.min(a.size(), endNum);
        a= a.subList(begin, end);
        return a;
    }
       
  

你可能感兴趣的:(java,windows)