⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pager.java

📁 JSP聊天系统
💻 JAVA
字号:
package org.ehotsoft.yekki.sql;

import java.sql.ResultSet;
import java.sql.SQLException;

public class Pager {
	
	protected int absolutePage;
	protected int recordCount;
	protected int pageCount;
	protected int pageSize;
	protected int currentPageSize;
	protected int counter;

	protected String args;
	protected ResultSet resultSet;
	
	public static final String PAGE_NO = "page_no";

	public Pager( int absolutePage, int recordCount, int pageSize, String args ) {
		
		setAbsolutePage( absolutePage );
		setRecordCount( recordCount );
		setPageSize( pageSize );
		setArgs( args );
		refresh();
	}
	
	public void setResultSet( ResultSet resultSet ) {
		
		this.resultSet = resultSet;
	}

	public ResultSet getResultSet() {
		
		return resultSet;
	}

	public void setArgs( String args ) {
		
		if ( args == null )
			this.args = "";
		else
			this.args = args;
	}

	public String getArgs() {
		
		return args;
	}

	public void setAbsolutePage( int pageNum ) {
		
		absolutePage = pageNum;
	}
	
	public void setAbsolutePage( String pageNum ) {
		
		try {
			
			int tmp = Integer.parseInt( pageNum );
			setAbsolutePage( tmp );
		}
		catch ( NumberFormatException e ) {
		
			setAbsolutePage( 1 );
		}
	}
	
	public int getAbsolutePage() {
		
		return absolutePage;
	}
	
	public void setRecordCount( int count ) {
		
		recordCount = count;
	}
	
	public int getRecordCount() {
		
		return recordCount;
	}
	
	public void setPageSize( int size ) {
		
		pageSize = size;
	}
	
	public int getPageSize() {
	
		return pageSize;
	}
	
	public int getPageCount() {
			
		if ( pageCount == 0 ) pageCount = 1;
		return pageCount;
	}
	
	public int getCurrentPageSize() {
		
		return currentPageSize;
	}
	
	private void refresh()
    {
        if( pageSize == 0 )
        {
            pageCount = 1;
        }
        else
        {
            pageCount = ( int )Math.ceil( ( recordCount + pageSize - 1 ) / pageSize );
        }

        if( absolutePage < pageCount )
        {
            currentPageSize = pageSize;
        }
        else if ( pageCount == absolutePage )
        {
            currentPageSize = recordCount - pageSize * ( pageCount - 1 );
        }
        else {
        	
        	currentPageSize = 0;
        }
        
        counter = currentPageSize;
    }
   
    public boolean next() {
		
		counter--;
		boolean hasNext = false;

		try {

			hasNext = ( counter >= 0 && resultSet.next() );
		}
		catch ( SQLException e ) {
			
			System.err.println( "Error:Pager.next()" );
			e.printStackTrace();
		}

		return hasNext;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -