11.分页技术

Posted 白日梦想家12138

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了11.分页技术相关的知识,希望对你有一定的参考价值。

 

分页的实现过程

1.前台传入 想要访问的页码,如我想访问第5页了

2.后台接收到这个页码,再查询出总记录数(总记录数用于得到共有多少页)

3.根据页码 和 总记录数,创建出一个Page对象 (这个Page对象是分页的核心)

4.可以根据这个Page对象里面的方法,得到我要查询的第5页数据的 startindex 起始位置,和一页显示多少记录

5.有了这两个参数,就可以使用 limit 语句,得到第5页的具体数据,将其封装到Page对象中,返回给前台显示 

6.首次访问 ,页码为 null ,即访问第一页数据

这个Page类的主要代码:

 1     private List list;        
 2     private int totalpage;  //记住总页数
 3     
 4     private int totalrecord;
 5     private int pagesize = 5;
 6     
 7     private int pagenum;   //代表用户想看的页
 8     private int startindex;//代表用户想看的页的数据从数据库哪个地方开始取
 9     
10     public page(int totalrecord,int pagenum) {
11         
12         this.totalrecord = totalrecord;
13         if(this.totalrecord % this.pagesize == 0) {
14             this.totalpage = this.totalrecord/this.pagesize;
15         }
16         else {
17             this.totalpage = this.totalrecord/this.pagesize + 1;
18         }
19         
20         this.pagenum = pagenum;
21         this.startindex = (this.pagenum-1)*this.pagesize;
22         
23     }
   //业务方法
1
public page getPageDate(String pagenum) { 2 3 int totalrecord = dao.getTotalRecord(); 4 5 if(pagenum == null) { 6 //代表用户想看第一页的数据 7 page pa = new page(totalrecord,1); 8 // 9 List list = dao.getPageDate(pa.getStartindex(), pa.getPagesize()); 10 pa.setList(list); 11 return pa; 12 } 13 else { 14 page pa = new page(totalrecord,Integer.parseInt(pagenum)); 15 List list = dao.getPageDate(pa.getStartindex(), pa.getPagesize()); 16 pa.setList(list); 17 return pa; 18 } 19 }

 

以上是关于11.分页技术的主要内容,如果未能解决你的问题,请参考以下文章

概括 REST API 的分页技术

带有分页和排序的 Spring Boot JPA 规范 API

Symfony2 将哈希片段参数附加到分页 URL

FragmentStatePagerAdapter 视图分页器片段在活动重新创建后不显示

ViewPager 中嵌套片段的 OptionsMenu

FragmentStatePagerAdapter视图分页器片段在重新创建活动后未显示