分页实体类
public class Page {
private List<?> data;// 要返回的某一页的记录集合
private long totalRow;// 总记录数
private int totalPage;// 总页数
private int currentPage=1;// 当前页
private int pageSize=10;// 每页记录数
public List<?> getData() {
return data;
}
public void setData(List<?> data) {
this.data = data;
}
public long getTotalRow() {
return totalRow;
}
public void setTotalRow(long totalRow) {
this.totalRow = totalRow;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
}
工具处理分页类
public class PageUtil {
/**
* 计算总页数
* @param pageSize 每页记录数
* @param allRow 总记录数
* @return 返回总页数
*/
public static int countTotalPage(final int pageSize, long totalRow) {
/*//如果总记录数大于1000,则只计算前1000条记录的总页数
if(totalRow > 1000){
totalRow = 1000;
}*/
int totalPage = (int) (totalRow % pageSize == 0 ? totalRow / pageSize : totalRow
/ pageSize + 1);
return totalPage;
}
/**
* 计算当前页起始记录数
* @param pageSize 每页记录数
* @param currentPage 当前第几页
* @return 返回当前页起始记录数
*/
public static int getPageOffset(final int pageSize, final int currentPage) {
final int offset = pageSize * (currentPage - 1);
return offset;
}
/**
*
* @param currentPage 当前第几页
* @param pageSize 每页记录数
* @param totalRow 总记录数
* @param list 数据集合
* @return 返回分页对象page
*/
public static Page getPage(int currentPage, int pageSize, long totalRow, List<?> list){
Page page = new Page();
page.setCurrentPage(currentPage);
page.setPageSize(pageSize);
page.setTotalRow(totalRow);
page.setTotalPage(countTotalPage(pageSize, totalRow));
page.setData(list);
return page;
}
/**
* 获取最后一页的记录数
* @param pageSize 每页记录数
* @param totalRow 总记录数
* @param totalPage 总页数
* @return 返回最后一页的记录数
*/
public static int getLastPageRow(int pageSize, long totalRow, long totalPage){
return (int)(totalRow - pageSize * (totalPage - 1));
}
}
其他页面调用PageUtil.(int currentPage, int pageSize, long totalRow, List