/**
* 分页工具类,在获取查询起始行和总页数之前,应先设置总记录数和每页显示条数
* 每页显示条数默认为10
* @author 大别山人
* @2018年5月10日 下午10:04:41
* @param <T>
*/
public class PageBeanUtil<T> {
// 当前页码
private int currentPage;
// 每页显示条数
private int pageLine;
// 保存当前页要显示的所有数据
private List<T> beanList;
// 总记录数
private int totalCount;
/**
* 获取查询起始行
* @return
*/
public int getStartIndex() {
return (getCurrentPage() - 1) * getPageLine();
}
/**
* 获取总页数
* @return
*/
public int getTotalPageCount() {
return (totalCount + getPageLine() - 1) / getPageLine();
}
/**
* 返回当前页
* @return
*/
public int getCurrentPage() {
if(currentPage < 1) {
currentPage = 1;
}else if(currentPage > getTotalPageCount()) {
currentPage = getTotalPageCount();
}
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
/**
* 返回一页显示的总行数,不小于0,默认为10行
* @return
*/
public int getPageLine() {
if(pageLine <= 0) {
pageLine = 10;
}
return pageLine;
}
public void setPageLine(int pageLine) {
this.pageLine = pageLine;
}
public List<T> getBeanList() {
return beanList;
}
public void setBeanList(List<T> beanList) {
this.beanList = beanList;
}
public int getTotalCount() {
return totalCount;
}
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
@Override
public String toString() {
return "PageBean [当前页码:" + currentPage + ", 每页显示行数:" + getPageLine() + ", 当前页的数据:" + beanList
+ ", 总记录数:" + totalCount + ", limit起始行数:" + getStartIndex() + ", 总页数:" + getTotalPageCount() + "]";
}
}