分页实现有很多方式,如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