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

分页总结

阅读更多
分页总结:

通过当前页判断是否有上一页下一页和首尾页
通过总记录数得出总页数
public class Pager {

    private int currentPage;//当前页码
    private int pageSize=3;//每页记录数
    private int totalPage;//总页数
    private int totalSize;//总记录数
   
   
    private boolean hasFirst;
    private boolean hasPrevious;
    private boolean hasNext;
    private boolean hasLast;
   
    //初始化
    public Pager(int currentPage,int totalSize){
        this.currentPage=currentPage;
        this.totalSize=totalSize;
    }
    
   
    public int getCurrentPage() {
        return currentPage;
    }
    public void setCurrentPage(int currentPage) {
        this.currentPage = currentPage;
    }
   
    public boolean isHasFirst() {
       
        if(this.currentPage == 1){
            return false;
        }
       
        return true;
    }
   
    public void setHasFirst(boolean hasFirst) {
        this.hasFirst = hasFirst;
    }
   
    public boolean isHasLast() {
        if(this.currentPage == this.getTotalPage()){
            return false;
        }
        return true;
    }
    public void setHasLast(boolean hasLast) {
        this.hasLast = hasLast;
    }
    public boolean isHasNext() {
       
        if(this.isHasLast()){
            return true;
        }
        return false;
    }
    public void setHasNext(boolean hasNext) {
        this.hasNext = hasNext;
    }
    public boolean isHasPrevious() {
       
        if(this.isHasFirst()){
            return true;
        }
        return false;
    }
    public void setHasPrevious(boolean hasPrevious) {
        this.hasPrevious = hasPrevious;
    }
    public int getPageSize() {
        return pageSize;
    }
    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }
    public int getTotalPage() {
       
        totalPage = totalSize/pageSize;
        if(totalSize%pageSize!=0)
            totalPage++;
       
        return totalPage;
    }
    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    }
    public int getTotalSize() {
        return totalSize;
    }
    public void setTotalSize(int totalSize) {
        this.totalSize = totalSize;
    }    
}


 //DAO
public List queryByPager(int currentPage,int pageSize){
        //计算起始行从0开始
        final int startRow =  (currentPage-1)*pageSize ;
        final int maxResults = pageSize;
        //利用回调接口,调用Hibernate原生API

        List bookList =(List) getHibernateTemplate().execute(new HibernateCallback(){
            public Object doInHibernate(Session session)throws HibernateException,SQLException{
                 Query query = session.createQuery("From Book as b left join fetch  b.category ")
                        .setFirstResult(startRow)
                        .setMaxResults(maxResults);
                 
                return query.list();
            }
        });
       
        return bookList;
      
      
    }
分享到:
评论

相关推荐

    jsp 分页实现总结大全

    总结,JSP分页实现是一个涉及到数据库操作、服务器端逻辑和客户端展示的综合过程。开发者需要理解如何在后台处理分页逻辑,如何将数据传递给前端,以及如何在前端展示分页效果。掌握这些知识后,无论是开发大型网站...

    pro*c 实现分页总结

    在IT领域,尤其是在数据库开发和应用中,分页查询是一个常见的需求,特别是在处理大量数据时,以提高用户体验和系统性能。Pro*C,是Oracle提供的一种预编译器,用于将C语言与PL/SQL结合,使得在C/C++程序中可以直接...

    三大数据库分页总结

    总结一下,Oracle的分页依赖于`ROWNUM`,可能在大数据量下效率较低;SQL Server的`ROW_NUMBER()`和`OVER()`组合提供了更灵活和高效的分页方案;而MySQL的`LIMIT`则提供了简单易用的分页功能,但在处理大量数据时,`...

    JSP分页总结

    ### JSP分页技术详解与实现 在Web开发中,数据展示往往涉及到大量的记录,而一次性加载所有数据不仅会增加服务器负担,降低用户体验,还可能导致页面加载缓慢。为了解决这一问题,分页技术应运而生。本文将对JSP...

    Hibernate分页总结

    在大型应用中,数据量通常很大,为了提高用户体验和服务器性能,分页查询成为必不可少的功能。本篇文章将深入探讨Hibernate中的分页实现方式。 一、Hibernate分页基本概念 分页查询是指在检索数据时,不是一次性...

    分页小工具源码和jar包,导入后使用。

    关于压缩包内的“分页总结—完成”文件,这很可能是对分页工具的详细说明或使用教程,包括如何配置、如何在JSP页面中调用自定义标签、如何传递参数等。这份文档将是你理解和使用工具的关键,建议仔细阅读并按照指导...

    java分页总结

    ### Java分页技术详解 在Java Web开发中,分页是一项常见的需求,尤其是在处理大量数据时,为了提高用户体验和服务器性能,将数据分成多个页面显示是必要的。本文将基于提供的代码片段,深入解析Java分页的基本原理...

    mysql分页,oracle分页,sql server三种数据库实现分页

    mysql,oracle,sql server分页总结与比较

    java分页方法总结

    ### Java分页方法总结 #### 一、MySQL的分页技术 MySQL的分页操作相对简单,主要通过`LIMIT`语句实现。该语句允许开发者指定查询结果集中的起始位置以及返回的行数。这为实现网页上的分页功能提供了极大的便利。 ...

    分页的sql总结

    ### 总结 在实际应用中,选择哪种分页查询方法应考虑数据库的具体环境、数据量大小以及查询性能需求。ROWID适合于数据量不大且对性能要求较高的场景;ROW_NUMBER()窗口函数则适用于数据量大、对排序有明确要求的...

    Java Ajax分页,jsp ajax分页

    总结来说,实现Java AJAX分页和JSP分页涉及前后端的协作。前端通过AJAX与后端通信,后端处理请求并从数据库获取数据,然后将数据返回给前端,前端再更新页面内容。这个过程提升了用户体验,使得浏览大数据集变得更加...

    php分页代码总结

    下面将对“php分页代码总结”进行详细阐述。 首先,PHP分页通常涉及到以下几个核心概念: 1. **总记录数**:这是数据库查询到的所有数据的数量,用于计算总的页数。 2. **每页记录数**:用户可以根据需求设定每一...

    mysql数据库实现分页

    总结,MySQL的分页功能是处理大数据量查询的关键技术,通过合理使用`LIMIT`和`OFFSET`,配合索引优化,可以有效地提高查询效率,提升用户交互体验。同时,随着版本升级,MySQL提供了更多分页策略和技术,如窗口函数...

    .net分页 asp.net分页

    总结一下,.NET分页和ASP.NET分页是处理大量数据的关键技术。理解服务器端分页和数据库端分页的区别,选择合适的方式,结合适当的控件和数据源,以及编写自定义逻辑,可以有效地实现高效且用户友好的分页功能。在...

    asp分页,asp分页仿百度,asp分页大全

    总结,ASP分页技术涉及到数据库操作、页面渲染和用户体验设计等多个方面。正确地实现和优化分页不仅可以提高网站性能,还能提供良好的用户体验。通过学习和实践,你可以掌握如何在ASP环境中创建高效、美观的分页系统...

    关于Mysql分页的两种方法,假分页和limit分页

    总结起来,MySQL的分页方法主要包括假分页和LIMIT分页。假分页适合数据量小、对服务器压力不敏感的场景,而LIMIT分页则更适合数据库分页,特别是配合索引和优化策略,能有效提高查询效率。在实际应用中,应根据具体...

    分页网上下载总结的

    这里,我们主要关注的是“分页网上下载总结的jsp”这个主题,它涉及到网页开发中的JavaServer Pages(JSP)技术以及如何实现分页功能。 **分页原理** 分页的基本原理是将大量的数据分成若干个较小的部分,每个部分...

    asp 数字分页 仿百度分页 仿谷歌分页

    总结起来,"asp 数字分页 仿百度分页 仿谷歌分页"项目主要涉及以下知识点: 1. ASP编程:使用VBScript编写服务器端脚本。 2. ADO数据库操作:创建数据库连接,执行SQL查询。 3. 数据库分页:利用SQL语句实现数据的...

    ASP分页通用类 asp分页

    总结起来,ASP分页是通过限制数据库查询返回的数据量,实现Web页面数据的分块加载。通过编写分页类,我们可以方便地在不同的页面中复用分页逻辑,提高代码的可维护性和效率。理解并熟练掌握这一技术,对于提升ASP...

    asp超简单分页显示

    总结,ASP实现超简单分页显示主要包括以下步骤: 1. 建立数据库连接。 2. 根据当前页数和每页记录数构造SQL查询语句。 3. 执行SQL并获取数据。 4. 在页面上显示数据并创建分页链接。 5. 考虑优化和扩展,提升用户...

Global site tag (gtag.js) - Google Analytics