📄 pager.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 + -