数据分页,在开发中必不可少,由于数据量太大,不得不进行处理。但是对于分页,又有很多种方式,比如使用sql语句的limit,或者使用jquery的插件。但是底层的逻辑,都是需要的。
在这里贴出bean对象的代码,以及一个辅助类。我做的这个项目是一个个人博客,算是个人网站吧。
(只贴部分底层逻辑代码)
page.java
package cn.edu.ldu.util;
public class page {
private int everypage; //每页显示的数量
private int totalpage; //总页数
private int totalcount; //总数量
private int currentpage; //当前页
private int beginindex; //起始页
private boolean hasprepage; //是否有上一页
private boolean hasnextpage; //是否有下一页
public page() {
}
public page(int everypage, int totalpage, int totalcount, int currentpage,int beginindex, boolean hasprepage, boolean hasnextpage)
{
this.everypage = everypage;
this.totalpage = totalpage;
this.totalcount = totalcount;
this.currentpage = currentpage;
this.beginindex = beginindex;
this.hasprepage = hasprepage;
this.hasnextpage = hasnextpage;
}
public int geteverypage() {
return everypage;
}
public void seteverypage(int everypage) {
this.everypage = everypage;
}
public int gettotalpage() {
return totalpage;
}
public void settotalpage(int totalpage) {
this.totalpage = totalpage;
}
public int gettotalcount() {
return totalcount;
}
public void settotalcount(int totalcount) {
this.totalcount = totalcount;
}
public int getcurrentpage() {
return currentpage;
}
public void setcurrentpage(int currentpage) {
this.currentpage = currentpage;
}
public int getbeginindex() {
return beginindex;
}
public void setbeginindex(int beginindex) {
this.beginindex = beginindex;
}
public boolean ishasprepage() {
return hasprepage;
}
public void sethasprepage(boolean hasprepage) {
this.hasprepage = hasprepage;
}
public boolean ishasnextpage() {
return hasnextpage;
}
public void sethasnextpage(boolean hasnextpage) {
this.hasnextpage = hasnextpage;
}
}
pageutil.java
package cn.edu.ldu.util;
public class pageutil {
//创建分页信息对象
public static page createpage(int everypage,int totalcount,int currentpage) {
everypage = geteverypage(everypage);
currentpage = getcurrentpage(currentpage);
int totalpage = gettotalpage(everypage, totalcount);
int beginindex = getbeginindex(everypage, currentpage);
boolean hasprepage = gethasprepage(currentpage);
boolean hasnextpage = gethasnextpage(totalpage, currentpage);
return new page(everypage, totalpage,totalcount, currentpage,
beginindex, hasprepage, hasnextpage);
}
//获得每页显示记录数
public static int geteverypage(int everypage) {
return everypage == 0 ? 10 : everypage;
}
//获得当前页
public static int getcurrentpage(int currentpage) {
return currentpage == 0 ? 10 : currentpage;
}
//获得总页数
public static int gettotalpage(int everypage,int totalcount) {
int totalpage=0;
//要判断每页是否满页,否则页数+1
if(totalcount!=0 && totalcount%everypage==0) {
totalpage=totalcount/everypage;
}
else {
totalpage=totalcount/everypage+1;
}
return totalpage;
}
//获得起始位置
public static int getbeginindex(int everypage,int currentpage) {
return everypage*(currentpage-1);
}
//判断是否有上一页
public static boolean gethasprepage(int currentpage) {
return currentpage== 1 ? false : true;
}
//判断是否有下一页
public static boolean gethasnextpage(int totalpage, int currentpage) {
return (currentpage == totalpage) || (totalpage == 0) ? false : true;
}
}
每次我只需要去调用即可。
//传入每页显示的页数,总记录数,当前页 page page=pageutil.createpage(5, diarydao.findallcount(), currentpage);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持硕编程。
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!