/**
* 页面里的一页数据的对象
* @author BluceYoung
*
*/
public class PageUtil<T> {
private int pageNo;//当前第几页
private int pageCount;//共多少页
private int pageSize=5;//每页显示多少条
private int totalCount;//总数据条数
List<T> listData=new ArrayList<T>();
/**
* 获取当前页码
* @return
*/
public int getPageNo() {
return pageNo;
}
/**
* 获取总页数
* @return
*/
public int getPageCount() {
return pageCount;
}
/**
* 获取每页数据条数
* @return
*/
public int getPageSize() {
return pageSize;
}
/**
* 获取总数据条数
* @return
*/
public int getTotalCount() {
return totalCount;
}
/**
* 获取本页数据集合
* @return
*/
public List<T> getListData() {
return listData;
}
/**
* 设置当前页码,下限1,上限pageCount
* @param pageNo
*/
public void setPageNo(int pageNo) {
this.pageNo = pageNo;
if(this.pageNo<1) {
this.pageNo=1;
}
if(this.totalCount>0 && pageNo >pageCount) {//页码超过总页数
this.pageNo=pageCount;//设置为末页
}
}
/**
* 设置每页数据条数
* @param pageSize
*/
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
/**
* 设置总数据条数
* @param totalCount
*/
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
//计算总页数
this.pageCount=totalCount/pageSize;
if(totalCount%pageSize>0) {//页数不够,得加一页
this.pageCount++;
}
}
/**
* 设置当前页数据
* @param listData
*/
public void setListData(List<T> listData) {
this.listData = listData;
}
/**
* 实例化一个数据页,确定:每页条数、总数据数、总页数
* @param pageSize
* @param totalCount
*/
public PageUtil(int pageSize, int totalCount) {
super();
this.pageSize = pageSize;
setTotalCount(totalCount);
}
/**
* 根据页码获取查询语句的limit开始
* @param pageNo
* @return
*/
public int getLimitStart(int pageNo) {
return (pageNo-1)*this.pageSize;
}
}
|