How List performs pagination

Here is a method to pass list, pageSize, pageNum through,

list is all the data we found out

pageList is the data after pagination

List<EsArticleDto> list = articleService.findByLangAndCreateDateIntBetween(article.getLang(), Integer.parseInt(this.startTime), Integer.parseInt(this.endTime), pageable);
PageEs pageEs = page(list, pageSize, pageNum);
List pageList = list.subList(pageEs.getFromIndex(), pageEs.getToIndex());


public PageEs page(List<EsArticleDto> list, Integer pageSize, Integer pageNum) {
//开启分页
    Integer count = list.size(); //记录总数
    Integer pageCount = 0; //页数
    if (count % pageSize == 0) {
        pageCount = count / pageSize;
    } else {
        pageCount = count / pageSize + 1;
    }

int fromIndex = 0; //开始索引
    int toIndex = 0; //结束索引

    if (pageNum > pageCount) {
        pageNum = pageCount;
    }
if (!pageNum.equals(pageCount)) {
        fromIndex = (pageNum - 1) * pageSize;
        toIndex = fromIndex + pageSize;
    } else {
        fromIndex = (pageNum - 1) * pageSize;
        toIndex = count;
    }
    PageEs pageEs = new PageEs();
    pageEs.setPageNum(pageNum);
    pageEs.setPageSize(pageSize);
    pageEs.setCount(count);
    pageEs.setPageCount(pageCount);
    pageEs.setToIndex(toIndex);
    pageEs.setFromIndex(fromIndex);
    return pageEs;
}

public PageIs page(List<IsArticleDto> list, Integer pageSize, Integer pageNum) {

//Open pagination

Integer count = list.size(); //Total number of records

Integer pageCount = 0; //number of pages

if (count % pageSize == 0) {

pageCount = count / pageSize;

} else {

pageCount = count / pageSize + 1;

}

int fromIndex = 0; //start index

int toIndex = 0; //end index

if ( pageNum > pageCount ) {

pageNum = pageCount;

}

if (!pageNum.equals(pageCount)) {

fromIndex = (pageNum - 1) * pageSize;

toIndex = fromIndex + pageSize;

} else {

fromIndex = (pageNum - 1) * pageSize;

toIndex = count;

}

PageEs pageEs = new PageEs();

pageEs.setPageNum(pageNum);

pageEs.setPageSize(pageSize);

pageEs.setCount(count);

pageEs.setPageCount(pageCount);

pageEs.setToIndex(toIndex);

pageEs.setFromIndex(fromIndex);

return pageEs;

}

Guess you like

Origin blog.csdn.net/m0_57666466/article/details/128882074