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.分页技术的主要内容,如果未能解决你的问题,请参考以下文章
带有分页和排序的 Spring Boot JPA 规范 API