一个项目中必不可少的功能——分页显示数据
分页显示数据
分页,在做一个项目中,分页显示数据库里面的数据是“狠”重要的,为什么呢,比如说,如果我们数据库中数据有几万条,我们在显示数据的时候,全部查出来显示,用户的体验效果不好,而且,效率大大降低。废话就不多说了,在实现分页的时候,一个要的bean,就是PageBean.java. 1.根据分页的显示效果,可以得出以下几个字段a. currentPage 当前页 b pageSize 页面中要显示多少记录数据 c recordCount 总记录数 d recordList查询出来的数据 e pageCount 总页码数 g beginCountIndex 页码列表的开始索引值 h endCountIndex 页面列表的结束索引值 在得知这么几个字段之后,就开始书写PageBean 吧,在这里要导入的包,我就没写出了。 public class PageBean{
//传递的参数或配置的值private int currentPage; private int pageSize;
//需要查询数据库的值 private int recordCount; private List recordList; //只需要接受4个必须要的值,会自动计算其他的3个属性的值 public PageBean(int currentPage, int pageSize, int recordCount , List recordList){ this.currentPage = currentPage; this.pageSize = pageSize; this.recordCount = recordCount ; this.recordList = recordList ;
//计算pageCount pageCount = (recordCount + pageSize - 1)/pageSize;
//1.总页码数<10就全部显示 if( pageCount< =10){ beginPageIndex = 1; endPageIndex = pageCount; } //2.总页码数>10 else{ //计算出beginPageIndex ,endpageIndex,显示当前页码附近10个页码 beginPageIndex = currentPage - 4; endPageIndex = currentPage - 5; if(beginPageIndex < 1){
//显示当前10个页码 beginPageIndex = 1; endPageIndex = 10; } else if (endPageIndex > pageCount ) { endPageIndex = pageCount; beginPageIndex = pageCount - 9; //因为显示的时候包含了2边界 } } } } 这里我把每个字段的get,set的方法就省略了,说到这里就OK了,有了思想,在去做分页功能就很容易了
//计算出beginPageIndex ,endpageIndex beginPageIndex = currentPage - 4; endPageIndex = currentPage - 5;