为了方便以后的复用,可以将分页写成一个工具类。
工具类中需要以下几个属性:
private int nowPage=1; //起始页数,默认为1
private int zongPage; //总条数%size==0?总条数/size:总条数/size+1
private int size = 5; //每页条数 提前规定好 5
private int zongCount; //总条数 select count(*) from 表名
private int beginNumber; //起始条数 (当前页-1)*size
private int number[] = new int[5]; //显示页数 1 2 3 4 5
public int[] getNumber() {
// 开始分析
zongPage=this.getZongPage();// 获取总共多少页
if(zongPage<=5){
for (int i = 0; i < zongPage; i++) {
number[i]=i+1;
}
}else{
// nowPage+2< zongPage nowPage-2>=1
if(this.getNowPage()+2<=this.getZongPage() && this.getNowPage()-2>=0){
number[0]=this.getNowPage()-2;
number[1]=this.getNowPage()-1;
number[2]=this.getNowPage();
number[3]=this.getNowPage()+1;
number[4]=this.getNowPage()+2;
}else{
if(this.getNowPage()+2>this.getZongPage()){
number[0]=this.getZongPage()-4;
number[1]=this.getZongPage()-3;
number[2]=this.getZongPage()-2;
number[3]=this.getZongPage()-1;
number[4]=this.getZongPage();
}
if(this.getNowPage()-2<0){
for (int i = 0; i < 5; i++) {
number[i]=i+1;
}
}
}
}
return number;
}
public int getBeginNumber() {
return (this.getNowPage()-1)*size;
}
public int getNowPage() {
return nowPage;
}
public void setNowPage(int nowPage) {
this.nowPage = nowPage;
}
public int getZongPage() {
return this.zongCount%size==0?this.zongCount/size:this.zongCount/size+1;
}
public void setZongPage(int zongPage) {
this.zongPage = zongPage;
}
public int getSize() {
return size;
}
public void setSize(int size) {
this.size = size;
}
public int getZongCount() {
return zongCount;
}
public void setZongCount(int zongCount) {
this.zongCount = zongCount;
}
SQL语句:select * from 表名 limit page.getBeginNumber() , page.getSize()