`

Java分页实例之-分页类

    博客分类:
  • Java
阅读更多

package  com.dbtemplate.domain;

import  org.apache.log4j.Logger;

/** */ /**
 * The Class PageInfo.
 
*/

public   class  PageInfo  ... {

    
/** */ /**  The logger.  */
    
static  Logger logger  =  Logger.getLogger(PageInfo. class .getName());

    
/** */ /**  The total records.  */
    
private   int  totalRecords;

    
/** */ /**  The total pages.  */
    
private   int  totalPages;

    
/** */ /**  The page size.  */
    
private   int  pageSize  =   10 ;

    
/** */ /**  The current page no.  */
    
private   int  currentPageNo;

    
/** */ /**  The previous page no.  */
    
private   int  previousPageNo;

    
/** */ /**  The next page no.  */
    
private   int  nextPageNo;

    
/** */ /**  The is first page.  */
    
private   boolean  isFirstPage;

    
/** */ /**  The is last page.  */
    
private   boolean  isLastPage;

    
/** */ /**  The has previous pag.  */
    
private   boolean  hasPreviousPage;

    
/** */ /**  The has next page.  */
    
private   boolean  hasNextPage;    
    
    
/** */ /**
     * Instantiates a new page info.
     * 
     * 
@param  totalRecords the total records
     
*/

    
public  PageInfo( int  totalRecords,  int  pageSize)   ... {
        logger.debug(
" Start to initialize the page info. " );
        
//  设置总记录数
         if (totalRecords  >=   0 ... {
            
this .totalRecords  =  totalRecords;
        }
  else   ... {
            totalRecords 
=   0 ;
        }

        
//  设置每页记录数
        setPageSize(pageSize);        
        
//  设置总页面数
         if (totalRecords  %  pageSize  ==   0 ... {
            totalPages 
=  totalRecords / pageSize;
        }
  else   ... {
            totalPages 
=  (totalRecords / pageSize)  +   1
        }

        
//  设置当前页
        currentPageNo  =   1 ;
    }


    
/** */ /**
     * Gets the current page no.
     * 
     * 
@return  the current page no
     
*/

    
public   int  getCurrentPageNo()  ... {
        
return  currentPageNo;
    }


    
/** */ /**
     * Sets the current page no.
     * 
     * 
@param  currentPageNo the new current page no
     
*/

    
public   void  setCurrentPageNo( int  currentPageNo)  ... {
        
//  设置当前页
         if (currentPageNo  <   1 ... {
            
this .currentPageNo  =   1 ;
        }
  else   if (currentPageNo  >  totalPages)  ... {
            
this .currentPageNo  =  totalPages;
        }
  else   ... {
            
this .currentPageNo  =  currentPageNo;
        }

        
//  每次设置当前页时更新上一页、下一页、是否首页、是否末页、是否有上一页、是否有下一页标志
        isFirstPage  =  (currentPageNo  ==   1 ) ? true : false ;
        isLastPage 
=  (currentPageNo  ==  totalPages) ? true : false ;
        hasPreviousPage 
=  (currentPageNo  ==   1 ) ?   false : true ;
        hasNextPage 
=  (currentPageNo  ==  totalPages) ?   false : true ;        
        previousPageNo 
=  (hasPreviousPage) ?  (currentPageNo  -   1 ):currentPageNo;
        nextPageNo 
=  (hasNextPage) ?  (currentPageNo  +   1 ):currentPageNo;
    }


    
/** */ /**
     * Gets the current page size.
     * 
     * 
@return  the current page size
     
*/

    
public   int  getCurrentPageSize()  ... {
        
if (totalRecords  ==   0 ... {
            
return   0 ;
        }
  else   if (currentPageNo  <  totalPages)  ... {
            
//  非末页
             return  pageSize;
        }
  else   ... {
            
//  末页
             return  (totalRecords  -  (currentPageNo  - 1 *  pageSize);
        }

    }
    

    
/** */ /**
     * Gets the current page start record.
     * 
     * 
@return  the current page start record
     
*/

    
public   int  getCurrentPageStartRecord()  ... {
        
return  (currentPageNo  -   1 *  pageSize  +   1 ;
    }

    
    
/** */ /**
     * Gets the current page end record.
     * 
     * 
@return  the current page end record
     
*/

    
public   int  getCurrentPageEndRecord()  ... {
        
return  (currentPageNo  - 1 *  pageSize  +  getCurrentPageSize();
    }
    
    
    
/** */ /**
     * Checks if is has next page.
     * 
     * 
@return  true, if is has next page
     
*/

    
public   boolean  isHasNextPage()  ... {
        
return  hasNextPage;
    }

    
    
/** */ /**
     * Checks if is has previous pag.
     * 
     * 
@return  true, if is has previous pag
     
*/

    
public   boolean  isHasPreviousPage()  ... {
        
return  hasPreviousPage;
    }

    
    
/** */ /**
     * Checks if is first page.
     * 
     * 
@return  true, if is first page
     
*/

    
public   boolean  isFirstPage()  ... {
        
return  isFirstPage;
    }


    
/** */ /**
     * Checks if is last page.
     * 
     * 
@return  true, if is last page
     
*/

    
public   boolean  isLastPage()  ... {
        
return  isLastPage;
    }


    
/** */ /**
     * Gets the page size.
     * 
     * 
@return  the page size
     
*/

    
public   int  getPageSize()  ... {
        
return  pageSize;
    }


    
/** */ /**
     * Sets the page size.
     * 
     * 
@param  pageSize the new page size
     
*/

    
public   void  setPageSize( int  pageSize)  ... {
        
this .pageSize  =  (pageSize  <=   0 ) ? 10 :pageSize;
    }


    
/** */ /**
     * Gets the previous page no.
     * 
     * 
@return  the previous page no
http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSu

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics