`
Listen_ing
  • 浏览: 36724 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

PageHelper (分页导航类,根据当前页计算导航链接)

阅读更多
public class PageHelper {
   
    /** Hibernate分页属性之一,起始数据位�?*/
    private int firstResult = 0;
    /** Hibernate分页属性之一,读取的�?��记录�?*/
    private int maxResults = 10;
    /** 页面显示记录数,默认通maxResults */
    private int pageSize = 10;
    /** 当前页数,设置完当前页数可自动计算出起始数据位置firstResult */
    private int currentPage = 0;
    /** 由totalRows和pageSize自动计算得出 */
    private int totalPages = 0;
    /** 记录总数 */
    private int totalRows = 0;
    /** 分页得到的结果集 */
    @SuppressWarnings("unchecked")
    private List results = Collections.emptyList();
    /** 是否自动获取记录总数 */
    private boolean autoCount = false;


    public int getFirstResult() {
       firstResult = currentPage - 1 < 0 ? 0 : (currentPage - 1) * pageSize;
       return firstResult;
    }


    public int getMaxResults() {
       return maxResults;
    }


    public void setMaxResults(int maxResults) {
       this.maxResults = maxResults;
       this.pageSize = this.maxResults;
    }


    public int getPageSize() {
       return pageSize;
    }


    public void setPageSize(int pageSize) {
       this.pageSize = pageSize;
       this.maxResults = this.pageSize;
    }


    public int getCurrentPage() {
       return currentPage;
    }


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


    public int getTotalPages() {
       totalPages = this.totalRows % this.pageSize > 0 ? this.totalRows
              / this.pageSize + 1 : this.totalRows / this.pageSize;
       return totalPages;
    }


    public int getTotalRows() {
       return totalRows;
    }


    public void setTotalRows(int totalRows) {
       this.totalRows = totalRows;
    }


    /**
     * @return the results
     */
    @SuppressWarnings("unchecked")
    public List getResults() {
       return results;
    }


    /**
     * @param results
     *            the results to set
     */
    @SuppressWarnings("unchecked")
    public void setResults(List results) {
       this.results = results;
    }


    /**
     * @return the autoCount
     */
    public boolean isAutoCount() {
       return autoCount;
    }


    /**
     * @param autoCount the autoCount to set
     */
    public void setAutoCount(boolean autoCount) {
       this.autoCount = autoCount;
    }
}
分享到:
评论

相关推荐

    springBoot+mybatis集成插件pageHelper

    在前端页面,可以通过PageInfo对象获取到当前页数、总页数、总记录数等信息,以便于生成分页导航链接。 **7. 自定义配置** 虽然PageHelper大部分情况下可以自动配置,但有些情况下可能需要自定义配置,例如:...

    简单分页类

    4. 分页导航:提供方法返回分页导航元素,如上一页、下一页的链接等。 在源码分析中,我们可能会看到这样的设计模式:使用工厂方法创建分页对象,或者使用Builder模式来构建复杂的分页配置。此外,类中可能还会包含...

    jsp像百度一样的分页

    4. **分页导航**:生成上一页、下一页、第一页和最后一页的链接,以及可能的每页条数选择。这部分需要考虑如何正确传递当前页数和每页条数的参数。 5. **渲染HTML**:在JSP页面中,使用EL(Expression Language)和...

    JAVA Web分页实例代码

    分页的核心在于如何计算当前页的数据范围以及如何构建导航链接。以下将详细阐述分页实现的几个关键步骤: 1. **数据查询**:首先,我们需要从数据库中获取数据。通常使用SQL的`LIMIT`和`OFFSET`关键字来限制返回的...

    分页文档以及分页步骤

    3. **执行查询**:根据页码和每页数量,计算出数据的起始位置和结束位置,然后执行SQL的LIMIT或OFFSET语句来获取当前页的数据。 4. **构建响应**:将查询到的数据封装成对象集合,并在页面上展示。同时,提供上一页...

    java实现分页······

    分页通常包括当前页、每页条数、总页数和导航链接等元素。 2. Java实现分页的关键点: - 数据库查询:首先,我们需要根据用户的当前页和每页显示的数量,编写SQL语句来获取相应的数据。例如,使用`LIMIT`和`OFFSET...

    纯jsp分页,不加任何封装

    4. 创建分页导航:创建“上一页”、“下一页”以及页码链接,用户点击后更新当前页。 5. 处理用户请求:在Servlet或Controller中捕获用户的分页请求,更新currentPage,然后返回新的分页结果。 三、纯jsp分页优化 ...

    显示分形式分页

    文件名"PageNav.java"可能是一个Java类,用于处理分页导航相关的逻辑。这个类可能包含以下功能: 1. **初始化分页参数**:如当前页数(currentPage)、每页大小(pageSize)等。 2. **计算总页数**:根据总记录数...

    jsp 分页示例源码

    2. **获取当前页数据**:根据用户请求的页码,调整SQL查询语句,使用OFFSET和FETCH关键字来定位要获取的记录范围,返回当前页的数据。 3. **前端展示**:在JSP页面中,利用EL和JSTL标签库将获取的数据展示出来,并...

    使用jquery实现表格动态分页

    2. **数据渲染**:接收到后端返回的数据后,更新表格中的内容,并根据总页数更新分页导航。 **四、优化与扩展** 1. **懒加载**:可以进一步优化,实现表格的无限滚动分页,即当用户滚动到底部时,自动加载下一页...

    javaweb分页简单分页

    在分页场景下,Servlet会根据请求参数(如页码和每页数量)来计算需要查询的数据范围,并向数据库发送相应的查询请求。 2. **数据库查询**: 在获取到分页参数后,我们需要构造SQL查询语句。例如,如果每页显示10...

    java(j2ee)分页标志库,教你如何快速分页显示

    使用PagerTag时,需要提供总记录数和当前页的记录范围,以便计算出正确的LIMIT和OFFSET值。 3. **使用PagerTag标签** PagerTag提供了一系列的JSP标签,如`&lt;pager:query&gt;`、`&lt;pager:display&gt;`等,用于在JSP页面上...

    分页实现代码

    1. **计算总页数**:根据总记录数和每页显示的条数来计算。 2. **构建SQL**:基于`Condition`对象构建带分页的SQL语句,通常会涉及到`LIMIT`或`OFFSET`子句(在MySQL中)或`ROW_NUMBER()`函数(在SQL Server中)来...

    简单的mvc分页实现

    视图负责展示当前页的数据,并构建分页导航,如页码链接或导航按钮。为了优化用户体验,视图通常还会显示总页数和当前页信息。 在描述中提到,这个实例的分页效率较低。这可能是因为它没有采用更高效的方法,如预...

    单纯的jsp页面动态分页

    在JSP中,可以通过隐藏字段或者URL参数传递当前页信息。同时,需要考虑边界条件,如第一页和最后一页的处理。 5. **前端展示**: 在JSP页面上,可以使用表格(`&lt;table&gt;`)或者其他HTML元素展示数据,每个页面只...

    分页操作

    `Page.java`可能是一个封装了分页信息的类,包括当前页、总页数、每页记录数以及数据列表等属性。它还可能包含计算总页数的方法,基于总记录数和每页记录数。例如: ```java public class Page&lt;T&gt; { private int...

    各种实现分页技术

    - **导航链接**:显示分页条,包括“首页”、“上一页”、“下一页”、“尾页”以及页码链接,需要根据当前页和总页数动态生成。 - **错误处理**:对无效的页码请求进行检查,防止越界。 在实际项目中,选择合适的...

    SSM分页完美实现

    前端根据返回的Page对象,计算总页数,渲染分页导航链接,并显示数据列表。 五、优化与扩展 - 使用PageHelper插件:PageHelper是一个MyBatis的分页插件,它可以自动处理分页逻辑,简化开发。 - 分页参数校验:防止...

    ssh分页经典代码

    2. **创建分页类**: 设计一个基础的分页类,包含当前页数、每页条数、总页数、总记录数等属性。这个类可以作为所有分页操作的基类,提供计算总页数和是否为最后一页等通用方法。 3. **编写分页服务**: 在Service层...

    jsp分页技术

    Servlet获取数据库中的分页数据,并将数据和分页信息(如总页数、当前页等)传递给JSP,JSP根据这些信息生成分页导航。 三、分页组件 为了简化开发,可以使用现成的分页组件,如Spring Boot的Pageable、MyBatis的...

Global site tag (gtag.js) - Google Analytics