`

一个标准的分页类(用于处理结果集)

 
阅读更多
package com.util;

@SuppressWarnings(
"unused")
public class Page
{
    
private int currentPage = 1//当前页
    private int rowPerPage = 5;  //每页几条
    private int totalPage;      //总页数
    private int totalRow;       //总行数
    private boolean hasFirstPage;  //是否有首页
    private boolean hasNextPage;   //是否有下一页
    private boolean hasPreviousPage;  //是否有上一页
    private boolean hasLastPage;     //是否有末页

    
public void init(int currentPage,int totalRow)
    
{
        
this.currentPage = currentPage;
        
this.totalRow = totalRow;
    }

    
    
public int getCurrentPage()
    
{
        
return currentPage;
    }


    
public void setCurrentPage(int currentPage)
    
{
        
this.currentPage = currentPage;
    }

    
//总页数
    public int getTotalPage()
    
{
        
return this.totalRow%this.rowPerPage == 0 ? this.totalRow/this.rowPerPage : this.totalRow/this.rowPerPage + 1;
    }


    
public void setTotalPage(int totalPage)
    
{
        
this.totalPage = totalPage;
    }


    
public int getRowPerPage()
    
{
        
return rowPerPage;
    }


    
public void setRowPerPage(int rowPerPage)
    
{
        
this.rowPerPage = rowPerPage;
    }


    
public int getTotalRow()
    
{
        
return totalRow;
    }


    
public void setTotalRow(int totalRow)
    
{
        
this.totalRow = totalRow;
    }

    
//是否有首页
    public boolean isHasFirstPage()
    
{
        
if(this.getCurrentPage() == 1)
            
return false;
        
return true;
    }


    
public void setHasFirstPage(boolean hasFirstPage)
    
{
        
this.hasFirstPage = hasFirstPage;
    }

    
//是否有最后一页
    public boolean isHasLastPage()
    
{
        
if(this.currentPage == this.getTotalPage())
            
return false;
        
return true;
    }


    
public void setHasLastPage(boolean hasLastPage)
    
{
        
this.hasLastPage = hasLastPage;
    }


    
public boolean isHasPreviousPage()
    
{
        
if(this.isHasFirstPage())
            
return true;
        
return false;
    }


    
public void setHasPreviousPage(boolean hasPreviousPage)
    
{
        
this.hasPreviousPage = hasPreviousPage;
    }


    
public boolean isHasNextPage()
    
{
        
if(this.isHasLastPage())
            
return true;
        
return false;
    }


    
public void setHasNextPage(boolean hasNextPage)
    
{
        
this.hasNextPage = hasNextPage;
    }

}

示例:一个查询所有用户的方法
public List<User> findAllUser(int currentPage, int rowPerPage)
    
{
        Session session 
= this.getHibernateTemplate().getSessionFactory().openSession();
        Query query 
= session.createQuery("from User u");
        
int startRow = (currentPage -1* rowPerPage;
        query.setFirstResult(startRow);
        query.setMaxResults(rowPerPage);
        
        
把当前页和每页的要显示的行数传入即可.


々上善若水々 2007-12-02 20:35 发表评论
分享到:
评论

相关推荐

    mysql分页jsp代码合集

    【MySQL分页JSP代码合集】是一个针对JavaEE开发者的资源包,主要涉及使用Java语言和JDBC(Java Database Connectivity)技术与MySQL数据库进行交互,实现数据的分页显示功能。分页是Web应用程序中常见的一种数据展示...

    自定义标签的使用步骤 用于分页

    在上述的描述中,我们看到一个自定义标签`PagerTag`的实现,用于分页功能。下面我们将详细探讨自定义标签的使用步骤以及涉及到的相关知识点。 1. **编写自定义标签处理类**: 类`PagerTag`继承自`TagSupport`,这...

    jdbc分页自动映射类,绝对原创

    在Java开发中,JDBC(Java ...总之,这个原创的JDBC分页自动映射类是数据库操作的一个实用工具,通过封装和自动化处理,简化了开发流程,提升了开发效率。在使用时,确保遵循作者的版权声明,尊重原创者的劳动成果。

    java基于原生的MySql的JDBC分页组件

    将以上步骤封装到一个类中,提供设置数据库连接信息、SQL模板、页码和每页大小的方法。内部实现分页查询,返回结果集或者转化为List对象。 9. **优化与注意事项**: - 考虑使用连接池管理数据库连接,如C3P0或...

    利用标准的SQL语句实现查询记录分页

    以下是一个基本的SQL分页查询模板: ```sql SELECT * FROM your_table t1 WHERE (SELECT COUNT(*) FROM your_table t2 WHERE t2.order_field ) &gt;= start_record AND (SELECT COUNT(*) FROM your_table t2 WHERE ...

    sturts+oracle+jdbc实现分页

    `Page.java`可能代表一个分页模型类,它通常包含当前页数、每页显示条数、总页数、总记录数等属性,以及用于计算和管理分页的逻辑方法。例如,`getPageStart()`方法计算出从数据库获取数据的起始位置,`getPageEnd()...

    java分页的简单实现

    首先,我们需要创建一个Servlet类,继承自HttpServlet,并重写doGet或doPost方法来处理HTTP GET或POST请求。 二、JDBC简介 Java Database Connectivity (JDBC) 是Java语言访问数据库的标准API。通过JDBC,我们可以...

    ASP百万数据分页类.zip

    - **ADO对象**:ASP中,通常会使用ActiveX Data Objects(ADO)来连接数据库,包括Connection、Command、Recordset等对象,它们可以帮助我们执行SQL语句并处理返回的结果集。 - **服务器端变量**:维护当前页码、总...

    浅谈分页思路

    一个典型的真分页SQL查询会使用ROWNUM函数(针对Oracle数据库)或者LIMIT和OFFSET(针对MySQL数据库)来限制返回的结果集大小。例如,在Oracle数据库中,可以使用如下SQL: ```sql SELECT * FROM (SELECT ROWNUM AS...

    jdbc分页查询源码

    在给定的源码中,可能包含了一个封装好的分页查询工具类,这个类通常会有以下方法: - `queryByPage(Connection conn, String sql, int pageNum, int pageSize)`:接收数据库连接、基础SQL语句以及分页参数,返回...

    javaweb后台数据真分页

    在JavaWeb开发中,"后台数据真分页"是一个重要的概念,主要涉及到如何有效地处理大量数据,提升用户体验,同时减轻服务器负担。在这个例子中,我们使用了JavaBean来封装一个分页工具类,以实现对MySQL数据库的高效...

    jdbc操作数据库分页

    在实际开发中,我们通常会封装一个数据库操作工具类,提供分页查询的方法,参数包括表名、查询条件、排序字段、页码和每页大小。这样可以使代码更简洁,复用性更强。 总结来说,JDBC分页主要是通过构造带有LIMIT和...

    jdbc+serlvet分页查询代码

    【标题】"jdbc+serlvet分页查询代码"涉及的知识点主要集中在Java数据库连接(JDBC)和Servlet两个核心技术上,它们是Web应用程序中处理数据和交互的关键组件。 **JDBC(Java Database Connectivity)** JDBC是Java...

    基于jsp+servlet+javabean 程序集分页

    在Java Web开发中,"基于jsp+javabean+servlet 程序集分页"是一个常见的技术组合,主要用于构建动态、数据驱动的Web应用程序。这个主题涉及到的主要知识点包括: 1. JSP(JavaServer Pages):JSP是Java的一个标准...

    JSF分页控件 ,支持大容量可查询分页

    "JSF分页控件" 是一个专门设计用于处理大数据集并提供用户友好查询分页功能的组件。本文将深入探讨JSF分页控件的关键知识点,以及如何实现大容量数据的可查询分页。 首先,理解JSF(JavaServer Faces)框架的基础是...

    jsp分页小程序

    通过分页,用户可以逐页查看结果,而不是面对一个长到无法浏览的列表。这种方式不仅使页面加载更快,也使得数据管理更加方便。 在Java中实现分页,通常会涉及到以下核心概念和技术: 1. **Servlet**:Servlet是...

    itextpdf 导出pdf 表格 自动分页中文 目录

    iTextPDF是一个Java库,专门用于创建、编辑和处理PDF文档,而`iText-asian-5.2.0.jar`和`itextpdf-5.5.5.jar`是iText库的不同版本,用于支持中文字符和其他亚洲语言。 1. **iTextPDF**: iTextPDF是iText项目的一...

    java通用分页含使用文档

    Java通用分页是一个常见且重要的技术点,尤其在开发大型数据集展示的Web应用时,分页能够有效地提高用户体验并优化服务器性能。本资源提供的"java通用分页含使用文档"是一个jar包,旨在简化Java Web开发中的分页实现...

    JSP+JDBC_假分页

    JDBC是Java中用于访问数据库的标准API,它提供了连接数据库、执行SQL语句、处理结果集等功能。在假分页中,我们需要使用JDBC来从数据库获取所有数据。 3. **假分页原理** 假分页的核心思想是:服务器一次性获取...

    java代码笔记2010-06-24:java 实现一个分页操作(JDBC+GUI-&gt;AWT) 实例

    例如,我们可以创建一个带有LIMIT和OFFSET子句的SQL查询,用于获取特定范围的数据,从而实现分页。 ```java String sql = "SELECT * FROM table_name LIMIT ? OFFSET ?"; PreparedStatement pstmt = connection....

Global site tag (gtag.js) - Google Analytics