本篇记录这个Demo的搜索和分页功能,看看完成后的效果
首先做分页功能,我们得新建一个Page对象,作为分页工具;创建com.zdxh.util包,在包里创建Page对象
start:数据的开始
count:默认是显示5条数据
total:一共有多少条数据
getTotalPage方法:算出一共有多少页数据
getLast():算出最后一页的开始,比如一共有54条数据,每页显示5条,那么这里就是算出最后一页是从第50条数据库开始的,用于按钮跳转到末日
package com.zdxh.util;
public class Page {
int start;
int count=5;
int total;
private static final int defalutcount=5;
public Page(){
count=defalutcount;
}
public Page(int start, int count) {
super();
this.start = start;
this.count = count;
}
public int getTotalPage(){
int totalPage;
if(total%count==0)
totalPage=total/count;
else
totalPage=total/count+1;
if(totalPage==0)
totalPage=1;
return totalPage;
}
public int getLast(){
int last;
if(total%count==0)
last=total-count;
else
last=total-total%count;
last = last<0?0:last;
return last;
}
/***setter and getter***/
}
给PeopleDAO和它的实现类增加分页查询方法,listByPage(Page page),还有getTotal()用于计算数据总数
public List<People> listByPage(Page page){
DetachedCriteria dc = DetachedCriteria.forClass(People.class);
dc.addOrder(Order.desc("id"));
return findByCriteria(dc,page.getStart(),page.getCount());
}