我的漫漫程序之旅

专注于JavaWeb开发
随笔 - 39, 文章 - 310, 评论 - 411, 引用 - 0
数据加载中……

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

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


posted on 2007-12-02 20:35 々上善若水々 阅读(780) 评论(0)  编辑  收藏 所属分类: JavaWeb


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问