`
justin8335
  • 浏览: 28332 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

分页总结

阅读更多
分页总结:

通过当前页判断是否有上一页下一页和首尾页
通过总记录数得出总页数
public class Pager {

    private int currentPage;//当前页码
    private int pageSize=3;//每页记录数
    private int totalPage;//总页数
    private int totalSize;//总记录数
   
   
    private boolean hasFirst;
    private boolean hasPrevious;
    private boolean hasNext;
    private boolean hasLast;
   
    //初始化
    public Pager(int currentPage,int totalSize){
        this.currentPage=currentPage;
        this.totalSize=totalSize;
    }
    
   
    public int getCurrentPage() {
        return currentPage;
    }
    public void setCurrentPage(int currentPage) {
        this.currentPage = currentPage;
    }
   
    public boolean isHasFirst() {
       
        if(this.currentPage == 1){
            return false;
        }
       
        return true;
    }
   
    public void setHasFirst(boolean hasFirst) {
        this.hasFirst = hasFirst;
    }
   
    public boolean isHasLast() {
        if(this.currentPage == this.getTotalPage()){
            return false;
        }
        return true;
    }
    public void setHasLast(boolean hasLast) {
        this.hasLast = hasLast;
    }
    public boolean isHasNext() {
       
        if(this.isHasLast()){
            return true;
        }
        return false;
    }
    public void setHasNext(boolean hasNext) {
        this.hasNext = hasNext;
    }
    public boolean isHasPrevious() {
       
        if(this.isHasFirst()){
            return true;
        }
        return false;
    }
    public void setHasPrevious(boolean hasPrevious) {
        this.hasPrevious = hasPrevious;
    }
    public int getPageSize() {
        return pageSize;
    }
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }
    public int getTotalPage() {
       
        totalPage = totalSize/pageSize;
        if(totalSize%pageSize!=0)
            totalPage++;
       
        return totalPage;
    }
    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    }
    public int getTotalSize() {
        return totalSize;
    }
    public void setTotalSize(int totalSize) {
        this.totalSize = totalSize;
    }    
}


 //DAO
public List queryByPager(int currentPage,int pageSize){
        //计算起始行从0开始
        final int startRow =  (currentPage-1)*pageSize ;
        final int maxResults = pageSize;
        //利用回调接口,调用Hibernate原生API

        List bookList =(List) getHibernateTemplate().execute(new HibernateCallback(){
            public Object doInHibernate(Session session)throws HibernateException,SQLException{
                 Query query = session.createQuery("From Book as b left join fetch  b.category ")
                        .setFirstResult(startRow)
                        .setMaxResults(maxResults);
                 
                return query.list();
            }
        });
       
        return bookList;
      
      
    }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics