java分页功能_Java 实现分页功能

packagecn.zr.testpage.utils;public classPage {//页数(第几页)

private intcurrentpage;//查询数据库里面对应的数据有多少条

private int total;//从数据库查处的总记录数//每页查询的数量条

private intsize;//下页

private intnext;//最后一页

private intlast;private intlpage;private intrpage;//从哪条开始查

private intstart;publicPage() {super();

}public intgetCurrentpage() {returncurrentpage;

}/****

*

*@paramcurrentpage

*@paramtotal

*@parampagesize*/

public void setCurrentpage(int currentpage,int total,intpagesize) {//如果整除表示正好分N页,如果不能整除在N页的基础上+1页

int totalPages = total%pagesize==0? total/pagesize : (total/pagesize)+1;//总页数

this.last =totalPages;//判断当前页是否越界,如果越界,我们就查最后一页

if(currentpage>totalPages){this.currentpage =totalPages;

}else{this.currentpage=currentpage;

}if(currentpage<=0){this.currentpage=1;

}//计算start 1----0 2 ------ 5

this.start = (this.currentpage-1)*pagesize;

}public intgetTotal() {returntotal;

}public void setTotal(inttotal) {this.total =total;

}public intgetSize() {returnsize;

}public void setSize(intsize) {this.size =size;

}public intgetNext() {return currentpage

}//上一页

public intgetUpper() {return currentpage>1? currentpage-1: currentpage;

}public intgetLast() {returnlast;

}//总共有多少页,即末页

public void setLast(intlast) {this.last = total%size==0? total/size : (total/size)+1;

}public intgetLpage() {returnlpage;

}public void setLpage(intlpage) {this.lpage =lpage;

}public intgetRpage() {returnrpage;

}public void setRpage(intrpage) {this.rpage =rpage;

}/****

*

*@paramtotal 总记录数

*@paramcurrentpage 当前页

*@parampagesize 每页显示多少条*/

public Page(int total,int currentpage,intpagesize) {//总记录数

this.total =total;//每页显示多少条

this.size=pagesize;//计算当前页和数据库查询起始值以及总页数

setCurrentpage(currentpage, total, pagesize);//分页计算

int leftcount =5, //需要向上一页执行多少次

rightcount =4;//起点页

this.lpage =currentpage;//结束页

this.rpage =currentpage;//2点判断

this.lpage = currentpage-leftcount; //正常情况下的起点

this.rpage = currentpage+rightcount; //正常情况下的终点//页差=总页数和结束页的差

int topdiv = this.last-rpage; //判断是否大于最大页数

/***

* 起点页

* 1、页差<0 起点页=起点页+页差值

* 2、页差>=0 起点和终点判断*/

this.lpage=topdiv<0? this.lpage+topdiv:this.lpage;/***

* 结束页

* 1、起点页<=0 结束页=|起点页|+1

* 2、起点页>0 结束页*/

this.rpage=this.lpage<=0? this.rpage+(this.lpage*-1)+1: this.rpage;/***

* 当起点页<=0 让起点页为第一页

* 否则不管*/

this.lpage=this.lpage<=0? 1:this.lpage;/***

* 如果结束页>总页数 结束页=总页数

* 否则不管*/

this.rpage=this.rpage>last? this.last:this.rpage;

}public intgetStart() {returnstart;

}}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值