Skip to content

毛俊的博客

使用pageinfo手工分页list集合

java, list1 min read

使用pageHelper进行分页的使用,pageHelper可以直接对查询的结果集进行分页。如果查询结果集后没有直接返回,而是做了二步处理封装,再返回结果集。则pageHelper分页则无法生效,返回分页结果会不准确。

采用手工对list分页并封装到pageinfo中:

1// init list
2List list =new ArrayList<>();
3...
4
5// create Page Obejcet
6Page page = new Page(pageNum, pageSize);
7// get list size
8int total = list.size();
9page.setTotal(total);
10// get startIndex and endIndex
11int startIndex = (pageNum - 1) * pageSize;
12if(startIndex > total){
13 return null;
14 }
15int endIndex = Math.min(startIndex + pageSize,total);
16// paging
17page.addAll(list.subList(startIndex,endIndex));
18// add to pageinfo
19PageInfo pageInfo = new PageInfo<>(page);
20modelAndView.addObject("pageInfo", pageInfo);

(完)

© 2020 by 毛俊的博客. All rights reserved.
Theme by LekoArts