不经过Dao层无法使用pageHeper,Jave自定义分页.

一, 目的: 

        我们在实际项目中,如果存在返回的数据没有经过数据,从其他系统获取,在前端又需要分页展示时.此时没有经过mybatis层,

  所以无法使用分页插件,此时可以自定义分页插件.

二, 前提:

      mybatis, java编译环境.

三, 过程:

     自定义分页工具,可以自行copy:

      dateList表示需要分页的数据, pageNum表示第几页, pageSize表示一页展示的数量.

public <T> PageInfo<T> defPageHelper(List<T> dateList, int pageNum, int pageSize){
if(pageNum !=1 && !CollectionUtils.isEmpty(dateList) && dateList.size() <=pageSize) {
pageNum = 1;//不足一页则返回一页
}
ArrayList<T> arrayList = new ArrayList<>();
int startIndex = (pageNum - 1) *pageSize; //分页开始节点
int endIndex = pageNum * pageSize - 1; //分页结束节点
if (endIndex >= dateList.size()) {
endIndex = dateList.size();
}
int i = 0;
for (T t : dateList) {
if (i >= startIndex && i <= endIndex){
arrayList.add(t);
}
i ++;
}

PageInfo<T> dateInfo = new PageInfo<>(arrayList);

if (dateList.size() % pageSize != 0){
dateInfo.setPages((dateList.size() / pageSize) +1);
} else {
dateInfo.setPages(dateList.size() / pageSize);
}

dateInfo.setPageNum(pageNum);
dateInfo.setPageSize(pageSize);
dateInfo.setTotal(dateList.size());
return dateInfo;
}


posted @ 2020-07-01 16:57  脚步~~~  阅读(221)  评论(0编辑  收藏  举报