List如何进行分页

这里写了一个方法,把list,pageSize,pageNum穿过来,

list是我们查出来的所有数据

pageList是分页后的数据

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 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;

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值