分页实现有很多方式,如jQuery自带框架pagination或在java封装一个类pager等。


 


下写一个简单易懂的分页算法


 


逻辑:


 


// 步骤1:设置每页页数大小

long pageSize = 10;

// 步骤2:得到查询数据的总量

long totalSize = this.service.getDataCount(paramMap);

// 步骤3:求出总页数

long totalPager = totalSize/pageSize;

// 步骤4:补充页数

if(totalSize%pageSize > 0){

     //如数据总量10 % 页数大小4 不等于0,但确实有4条数据,但上求出总页数值小于1(10/4=0.4),所以要加一页

     totalPager = totalSize/pageSize+1;

}


 


 


功能实现,查询:


 


//页码

long pageNo = 1;

 

//页码已到末尾,等于末尾

if(pageNo>totalPager){

     pageNo = totalPager;

}

//页码已为-1或0,不正确了。页数是从1开始的,所以重置

if(pageNo<1){

     pageNo=1;

}

 

Data retData = (pageNo+1)*pageSize;//下一页

Data retData = (pageNo-1)*pageSize;//上一页


 


 


作者:SVENNEE