一个项目中缺一不可的功能——分页显示数据

一个项目中必不可少的功能——分页显示数据
分页显示数据

     分页,在做一个项目中,分页显示数据库里面的数据是“狠”重要的,为什么呢,比如说,如果我们数据库中数据有几万条,我们在显示数据的时候,全部查出来显示,用户的体验效果不好,而且,效率大大降低。废话就不多说了,在实现分页的时候,一个要的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;