package
com.util;
@SuppressWarnings( " unused " )
public class Page
{
private int currentPage = 1; //当前页
private int rowPerPage = 5; //每页几条
private int totalPage; //总页数
private int totalRow; //总行数
private boolean hasFirstPage; //是否有首页
private boolean hasNextPage; //是否有下一页
private boolean hasPreviousPage; //是否有上一页
private boolean hasLastPage; //是否有末页
public void init(int currentPage,int totalRow)
{
this.currentPage = currentPage;
this.totalRow = totalRow;
}
public int getCurrentPage()
{
return currentPage;
}
public void setCurrentPage(int currentPage)
{
this.currentPage = currentPage;
}
//总页数
public int getTotalPage()
{
return this.totalRow%this.rowPerPage == 0 ? this.totalRow/this.rowPerPage : this.totalRow/this.rowPerPage + 1;
}
public void setTotalPage(int totalPage)
{
this.totalPage = totalPage;
}
public int getRowPerPage()
{
return rowPerPage;
}
public void setRowPerPage(int rowPerPage)
{
this.rowPerPage = rowPerPage;
}
public int getTotalRow()
{
return totalRow;
}
public void setTotalRow(int totalRow)
{
this.totalRow = totalRow;
}
//是否有首页
public boolean isHasFirstPage()
{
if(this.getCurrentPage() == 1)
return false;
return true;
}
public void setHasFirstPage(boolean hasFirstPage)
{
this.hasFirstPage = hasFirstPage;
}
//是否有最后一页
public boolean isHasLastPage()
{
if(this.currentPage == this.getTotalPage())
return false;
return true;
}
public void setHasLastPage(boolean hasLastPage)
{
this.hasLastPage = hasLastPage;
}
public boolean isHasPreviousPage()
{
if(this.isHasFirstPage())
return true;
return false;
}
public void setHasPreviousPage(boolean hasPreviousPage)
{
this.hasPreviousPage = hasPreviousPage;
}
public boolean isHasNextPage()
{
if(this.isHasLastPage())
return true;
return false;
}
public void setHasNextPage(boolean hasNextPage)
{
this.hasNextPage = hasNextPage;
}
}
示例:一个查询所有用户的方法@SuppressWarnings( " unused " )
public class Page
{
private int currentPage = 1; //当前页
private int rowPerPage = 5; //每页几条
private int totalPage; //总页数
private int totalRow; //总行数
private boolean hasFirstPage; //是否有首页
private boolean hasNextPage; //是否有下一页
private boolean hasPreviousPage; //是否有上一页
private boolean hasLastPage; //是否有末页
public void init(int currentPage,int totalRow)
{
this.currentPage = currentPage;
this.totalRow = totalRow;
}
public int getCurrentPage()
{
return currentPage;
}
public void setCurrentPage(int currentPage)
{
this.currentPage = currentPage;
}
//总页数
public int getTotalPage()
{
return this.totalRow%this.rowPerPage == 0 ? this.totalRow/this.rowPerPage : this.totalRow/this.rowPerPage + 1;
}
public void setTotalPage(int totalPage)
{
this.totalPage = totalPage;
}
public int getRowPerPage()
{
return rowPerPage;
}
public void setRowPerPage(int rowPerPage)
{
this.rowPerPage = rowPerPage;
}
public int getTotalRow()
{
return totalRow;
}
public void setTotalRow(int totalRow)
{
this.totalRow = totalRow;
}
//是否有首页
public boolean isHasFirstPage()
{
if(this.getCurrentPage() == 1)
return false;
return true;
}
public void setHasFirstPage(boolean hasFirstPage)
{
this.hasFirstPage = hasFirstPage;
}
//是否有最后一页
public boolean isHasLastPage()
{
if(this.currentPage == this.getTotalPage())
return false;
return true;
}
public void setHasLastPage(boolean hasLastPage)
{
this.hasLastPage = hasLastPage;
}
public boolean isHasPreviousPage()
{
if(this.isHasFirstPage())
return true;
return false;
}
public void setHasPreviousPage(boolean hasPreviousPage)
{
this.hasPreviousPage = hasPreviousPage;
}
public boolean isHasNextPage()
{
if(this.isHasLastPage())
return true;
return false;
}
public void setHasNextPage(boolean hasNextPage)
{
this.hasNextPage = hasNextPage;
}
}
public
List
<
User
>
findAllUser(
int
currentPage,
int
rowPerPage)
{
Session session = this.getHibernateTemplate().getSessionFactory().openSession();
Query query = session.createQuery("from User u");
int startRow = (currentPage -1) * rowPerPage;
query.setFirstResult(startRow);
query.setMaxResults(rowPerPage);
把当前页和每页的要显示的行数传入即可.
{
Session session = this.getHibernateTemplate().getSessionFactory().openSession();
Query query = session.createQuery("from User u");
int startRow = (currentPage -1) * rowPerPage;
query.setFirstResult(startRow);
query.setMaxResults(rowPerPage);