`
kjj
  • 浏览: 169361 次
  • 性别: Icon_minigender_1
  • 来自: 陕西
社区版块
存档分类
最新评论

忍不住了,凑凑热闹,我也来秀一下我的分页类

阅读更多
看到javaeye上分页的帖子实在太多了,上半年,做网站,分页让我烦恼,一气之下,写了个可以通用的分页累,今天在单位,没源代码,先传jar,明天再传源代码,我也show下我的分页类
这是下载地址
http://code.google.com/p/javaman/downloads/list
简单说明
为了保险起见,绝对标准的OO设计
Page 接口 定义分页接口
AbstractPage Page接口的默认实现,实现了大多数操作
defaultPageIMpl 实体类 【如果不满意我的实现,自己可以实现】
用法
实例话一个DefaultPageImpl
默认构造, DefaultPageImpl(); 默认每页显示10条记录
带参数构造 DefaultPageImpl(int rowInPage) 传入每页的显示数目
用法, setRowCount(int c) 需要传入 记录总行数
       setPageIndex(int index) 页码索引
getStartIndex() 返回抓取记录的起始索引 
getOffset()    返回抓取的行数

==============================================================
就这么简单,至于mysql 实际上就是 想办法取得 limit x,y 的xy值
其他数据库没研究过,怎么分页,欢迎大家拍砖
分享到:
评论
4 楼 wanghlwin 2012-12-05  
分页的page类,只要写出来了,基本上都能通用吧楼主?
3 楼 kjj 2008-12-19  
Page 

  package net.myweb.tool;

public abstract interface Page
{
  //设置当前页索引
  public abstract void setPageIndex(int paramInt);
  //得到当前页索引
  public abstract int getPageIndex();
  //设置总记录数
  public abstract void setRowCount(int paramInt);
  
  public abstract int getRowCount();
  //设着每页显示的行数
  public abstract void setRowInPage(int paramInt);

  public abstract int getRowInPage();

  public abstract int getStartIndex(int paramInt);
  
  //得到本页开始索引
  public abstract int getStartIndex();
  //得到总页数
  public abstract int getPageCount();
  //判断是否有前页
  public abstract boolean hasPrevious();
  //判断是否有后页
  public abstract boolean hasNext();
}


package net.myweb.tool;

import org.apache.log4j.Logger;

public class AbstractPage
  implements Page
{
  protected final Logger logger;
  private int _rowCount;
  private int _rowsInPage;
  private int _pageIndex;
  private int _pageCount;

  public AbstractPage(int rowCount)
  {
    this.logger = Logger.getLogger(super.getClass());

    this._rowsInPage = 10;
    this._pageIndex = 0;

    int base = this._rowCount / this._rowsInPage;
    if (this._rowCount % this._rowsInPage == 0)
      this._pageCount = base;
    else
      this._pageCount = (base + 1);
  }

  public AbstractPage()
  {
    this(10);
  }

  public int getPageIndex() {
    if (getPageCount() == 0)
      this._pageIndex = 1;
    if ((this._pageIndex > getPageCount()) && (getPageCount() != 0))
      this._pageIndex %= getPageCount();
    if ((this._pageIndex > getPageCount()) && (getPageCount() == 0))
      this._pageIndex = 1;
    if (this._pageIndex <= 0)
      this._pageIndex = 1;
    return this._pageIndex;
  }

  public int getRowCount()
  {
    return this._rowCount;
  }

  public int getRowInPage()
  {
    return this._rowsInPage;
  }

  public int getStartIndex(int pageIndex) {
    if ((pageIndex <= 0) || (pageIndex >= getRowCount()))
      return 0;

    return ((pageIndex - 1) * this._rowsInPage);
  }

  public void setPageIndex(int curent)
  {
    this._pageIndex = curent;
  }

  public void setRowCount(int rowCount)
  {
    this._rowCount = rowCount;
  }

  public void setRowInPage(int rows)
  {
    if (rows > 0)
      this._rowsInPage = rows;
  }

  public int getPageCount()
  {
    int base = this._rowCount / this._rowsInPage;
    if (this._rowCount % this._rowsInPage == 0)
      this._pageCount = base;
    else
      this._pageCount = (base + 1);
    return this._pageCount;
  }

  public boolean hasNext() {
    return (getPageIndex() != getPageCount());
  }

  public boolean hasPrevious()
  {
    return (getPageIndex() != 1);
  }

  public int getStartIndex() {
    return getStartIndex(getPageIndex());
  }
}



package net.myweb.tool;

public class DefaultPageImp extends AbstractPage
{
  public DefaultPageImp(int rowperpage)
  {
    super(rowperpage);
  }
}


对应的三个类,都很简单,功能一看就懂
2 楼 podie881111 2008-12-19  
源码可以发份给我么 podie881111@163.com
1 楼 june_t 2008-12-19  
楼主,你的源码呢?

相关推荐

    分页工具类分页工具类

    分页工具类分页工具类分页工具类分页工具类分页工具类分页工具类分页工具类分页工具类分页工具类分页工具类分页工具类分页工具类分页工具类分页工具类

    php分页类工具类

    这是一个功能强大,并且易于扩展的分页类,该类将分页的各个元素单独分开模块化,用户可以...用户直接调用就可,当然你也可以自己封装一些分页效果进去,供以后调用,总的来说,简单+复杂让该类能实现几乎所有的效果

    分页 jsp 分页类 java

    分页 jsp分页类 java代码 web 分页 分页代码

    Java公用分页类 Java公用分页类

    Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类Java公用分页类

    ASP分页通用类 asp分页

    asp 分页 分页类 asp分页 asp分页类

    叶子asp分页类(好用)

    名称: 叶子asp分页类 Name: ShowoPage(vbs class) RCSfile: ReadMe.txt Revision: 0.12.20051114.f Author: Yehe(叶子) Released: 2005-11-14 09:40:13 Descript: ASP分页类,支持access/mssql/mysql/sqlite ...

    一个很好的分页类php分页类

    一个很好的分页类一个很好的分页类一个很好的分页类一个很好的分页类一个很好的分页类一个很好的分页类

    java分页工具类

    page.java java分页工具类

    asp.net通用分页类

    通用分页类通用分页类通用分页类通用分页类通用分页类通用分页类通用分页类通用分页类通用分页类通用分页类通用分页类通用分页类

    PHP超强分页类

    PHP超强分页类,分页类,仿百度分页类,多种样式的分页类

    分页类

    分页类分页

    常用类 数据库连接类 分页类

    php 常用类,有pdo mysql 分页 常用类,很简单实用的 php类,还有图像处理类等

    asp静态生成 分页类

    asp 静态生成 分页类 asp 静态生成 分页类

    php完美分页类

    一款适合各种分页的分页类,可以直接根据构造函数的提示直接使用,分页导航直接调用最后的那个函数,非常完美的分页,考虑到各种情况.

    asp.net 分页类

    asp.net 分页类。跟VS自带的控件分页比起来,分页类更灵活,性能更高。

    公共分页工具类

    提供一个可以公用的分页工具类,适用于各种分页

    php pdo分页类

    php5推出的pdo统一数据接口,为了方便数据的分页写的pdo分页类。

    php封装的page分页类.zip

    主要介绍了php封装的page分页类,结合完整实例形式分析了php数值运算与字符串操作实现分页功能的相关技巧,需要的朋友可以参考下。

    分页的工具类

    分页工具类。类似谷歌 百度的分页

    jsp分页类 自己的写的

    jsp分页类 自己的写的 servletjsp分页类 自己的写的 servletjsp分页类 自己的写的 servletjsp分页类 自己的写的 servlet

Global site tag (gtag.js) - Google Analytics