您的位置:首页 > 其它

使用ssh完成分页

2017-12-05 21:05 316 查看
封装page

public class pageBean {

//当前页
private  int currentPage;

//总页数
private  int pageCount;

//每页显示的条数
private int pageSize;

//总记录数
private int pageSum;

//开始的索引
private int beginIndex;

//结束的索引
private int endIndex;

//页面的信息
private List recordList;

public pageBean() {
super();
// TODO Auto-generated constructor stub
}

public pageBean(int currentPage,List recordList,int pageSize,int pageSum ) {
this.currentPage=currentPage;
this.recordList=recordList;
this.pageSum=pageSum;
this.pageSize=pageSize;
//总页数的计算方法
pageCount = (pageSum+pageSize-1)/pageSize;
//判断起点和结束点,如果总数不到十条就全部显示
if (pageCount<10) {
this.beginIndex=1;
this.endIndex=pageCount;
//否则显示以下的信息
}else {
//开始页显示当前页前面的前4页
this.beginIndex=this.currentPage-4;
//开始页显示当前页前面的后5页
this.endIndex=this.currentPage+5;
//如何左面的开始位置小于1 那他就是1,右面就是10
if (this.beginIndex<1) {
this.beginIndex=1;
this.endIndex=10;
}
//如何右面的开始位置大于总页数
if (this.endIndex>pageCount) {
this.beginIndex=pageCount-9;
this.endIndex=pageCount;
}
}

}

public int getCurrentPage() {
return currentPage;
}

public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}

public int getPageCount() {
return pageCount;
}

public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}

public int getPageSize() {
return pageSize;
}

public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}

public int getPageSum() {
return pageSum;
}

public void setPageSum(int pageSum) {
this.pageSum = pageSum;
}

public int getBeginIndex() {
return beginIndex;
}

public void setBeginIndex(int beginIndex) {
this.beginIndex = beginIndex;
}

public int getEndIndex() {
return endIndex;
}

public void setEndIndex(int endIndex) {
this.endIndex = endIndex;
}

public List getRecordList() {
return recordList;
}

public void setRecordList(List recordList) {
this.recordList = recordList;
}

}

dao的计算方式

public pageBean getPageBean(int currentPage, Theme theme) {
// TODO Auto-generated method stub
int pageSize=2;
//在第几页开始查找
int firstResult =(currentPage-1)*pageSize;
//根据查询条件查询
String hql = "from Reply r where r.theme=? order by r.postTime asc";
List recordList = getSession().createQuery(hql).setParameter(0, theme).setFirstResult(firstResult).setMaxResults(pageSize).list();
//查找总记录数
hql="select count(*) from Reply r where r.theme=? ";
Long count =(Long) getSession().createQuery(hql).setParameter(0, theme).uniqueResult();
return new pageBean(currentPage, recordList, pageSize, count.intValue());
}

实现效果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: