一个标准的分页类(用于处理结果集)

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;
    }

}

示例:一个查询所有用户的方法

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);
        
        
把当前页和每页的要显示的行数传入即可.

你可能感兴趣的:(分页)