import com.aptech.vo.PageBean;
public class PageBeanUtil {
public static PageBean fillPageBean(
Integer totalCount,
Integer currentPage,
Integer pageSize){
//总页数
Integer totalPage=totalCount%pageSize==0?
totalCount/pageSize:
totalCount/pageSize+1;
//上一页
Integer prePage=currentPage<=1?1:currentPage-1;
//下一页
Integer nextPage=currentPage>=totalPage?totalPage:currentPage+1;
// 1...3456789...15
// 12345...15
//起始页
Integer startPage=currentPage-Constant.DEFAULT_INTERVAL_PAGE<=1?
1:currentPage-Constant.DEFAULT_INTERVAL_PAGE;
//结束页
Integer endPage=currentPage+Constant.DEFAULT_INTERVAL_PAGE>=totalPage?
totalPage:currentPage+Constant.DEFAULT_INTERVAL_PAGE;
PageBean bean=new PageBean();
bean.setCurrentPage(currentPage);
bean.setPageSize(pageSize);
bean.setStartPage(startPage);
bean.setPrePage(prePage);
bean.setEndPage(endPage);
bean.setNextPage(nextPage);
bean.setTotalCount(totalCount);
bean.setTotalPage(totalPage);
return bean;
}
}
//vo 类
package com.aptech.vo;
import java.util.List;
//1...3456789...15
public class PageBean {
private Integer currentPage; // 当前页数
private Integer pageSize; // 每页条数
private Integer totalCount; // 总条数
private Integer totalPage; // 总页数
private Integer prePage; // 上一页
private Integer nextPage; // 下一页
private Integer startPage; // 开始页
private Integer endPage; // 结束页
private List data; // 数据
/**
* @return the currentPage
*/
public Integer getCurrentPage() {
return currentPage;
}
/**
* @param currentPage the currentPage to set
*/
public void setCurrentPage(Integer currentPage) {
this.currentPage = currentPage;
}
/**
* @return the pageSize
*/
public Integer getPageSize() {
return pageSize;
}
/**
* @param pageSize the pageSize to set
*/
public void setPageSize(Integer pageSize) {
this.pageSize = pageSize;
}
/**
* @return the totalCount
*/
public Integer getTotalCount() {
return totalCount;
}
/**
* @param totalCount the totalCount to set
*/
public void setTotalCount(Integer totalCount) {
this.totalCount = totalCount;
}
/**
* @return the totalPage
*/
public Integer getTotalPage() {
return totalPage;
}
/**
* @param totalPage the totalPage to set
*/
public void setTotalPage(Integer totalPage) {
this.totalPage = totalPage;
}
/**
* @return the prePage
*/
public Integer getPrePage() {
return prePage;
}
/**
* @param prePage the prePage to set
*/
public void setPrePage(Integer prePage) {
this.prePage = prePage;
}
/**
* @return the nextPage
*/
public Integer getNextPage() {
return nextPage;
}
/**
* @param nextPage the nextPage to set
*/
public void setNextPage(Integer nextPage) {
this.nextPage = nextPage;
}
/**
* @return the startPage
*/
public Integer getStartPage() {
return startPage;
}
/**
* @param startPage the startPage to set
*/
public void setStartPage(Integer startPage) {
this.startPage = startPage;
}
/**
* @return the endPage
*/
public Integer getEndPage() {
return endPage;
}
/**
* @param endPage the endPage to set
*/
public void setEndPage(Integer endPage) {
this.endPage = endPage;
}
/**
* @return the data
*/
public List getData() {
return data;
}
/**
* @param data the data to set
*/
public void setData(List data) {
this.data = data;
}
}
//QueryDao
package com.aptech.dao;
import java.sql.SQLException;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class QueryDAO extends HibernateDaoSupport{
public List queryByPage(
final String hql,
final Integer currentPage,
final Integer pageSize,
final Object ...objects){
return this.getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException,
SQLException {
// TODO Auto-generated method stub
Query query=session.createQuery(hql);
if(currentPage !=null &&
pageSize!=null){
query.setMaxResults(pageSize);
query.setFirstResult((currentPage-1) * pageSize);
}
if(objects!=null){
for (int i = 0; i < objects.length; i++) {
query.setParameter(i, objects[i]);
}
}
return query.list();
}
});
}
public List queryByHQL(String hql,Object...objects){
return this.queryByPage(hql, null, null, objects);
}
public Object queryByUnique(String hql,Object...objects){
List list=this.queryByHQL(hql, objects);
return list!=null && list.size()>0?list.get(0):null;
}
}