php分页类:贴一个偶写的分页类来源: 发布时间:星期三, 2008年9月10日 浏览:210次 评论:0
抽象类
========================================================== import java.util.ArrayList; import java.sql.Connection; import java.sql.ResultSet; import com.xxx.util.DBTool; /** * <pre> * 分页类.默认页面大小为20 * 这是一个抽象类。子类需要重构方法selResult() * </pre> */ public abstract class PageList { /** 以下成员变量在子类中可视 */ protected final static int MIN_PAGE_SIZE = 20;//默认页面大小 protected int pageSize;//页面大小 protected int curPage;//当前页页码 protected int prePage;//上一页页码 protected int nxtPage;//下一页页码 protected int totalPage;//总页码数 protected int totalItem;//总条目数 protected String sql;//选择条件 protected ArrayList result;//结果集 protected int from;//开始的游标位置 /** 私有变量 */ private boolean hasFindResult = false;//标志是否已经查找了结果 //保证loadResult只进行一次 /** * 构造器.默认页面大小为20 * @param sql * @param pageNo */ public PageList(String sql, int pageNo) { init(sql, MIN_PAGE_SIZE, pageNo); } /** * 构造器 * @param sql 条件SQL * @param pageSize 页面大小 * @param pageNo 页码 */ public PageList(String sql, int pageSize, int pageNo) { init(sql, pageSize, pageNo); } protected void init(String sql, int pageSize, int pageNo) { this.sql = sql; this.pageSize = (pageSize<=0?MIN_PAGE_SIZE:pageSize); this.curPage = (pageNo<=0?1:pageNo); } /** * 获取页面大小 */ public int getPageSize() { if (!this.hasFindResult) { this.loadResult(); } return this.pageSize; } /** * 获取当前页码 */ public int getCurPage() { if (!this.hasFindResult) { this.loadResult(); } return this.curPage; } /** * 获取前一页的页码 */ public int getPrePage() { if (!this.hasFindResult) { this.loadResult(); } return this.prePage; } /** * 获取后一页的页码 */ public int getNxtPage() { if (!this.hasFindResult) { 0
相关文章
读者评论
发表评论 |