可以有以下五种方法实现:
1. 使用forward-only的resultset,rs.next()移动记录集就可以了
选从50-100行
int CurrentRow = 1;
int MinRow = 50;
int MaxRow = 100;
while(rs.next())
{
if (CurrentRow<MinRow)
{
CurrentRow++;
continue;
}
}
2.使用可滚动记录集的游标进行分页,用abslout(int row)定位
Connection cn = 。。。;
stmt = cn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = stmt.executeQuery(sql);
这样就可以使用rs.absolute(pos)进行定位了
3.使用SQL语句-通用
select top 50 *
from (select top 100 * from tablex order by id desc) as a
order by id
Oracle的语句:
select * from (select rownum r ,* from test) tt
where tt.r > 50 and tt.r <= 100;
DB2中:
select * from payment fetch first 5 row only --查前5条记录
4.使用ibatis,hibernate等,分页已经内部实现了,设置一下就可以了
1)hibernate
Query q = session.createQuery("from Cat as c");
q.setFirstResult(50);
q.setMaxResults(100);
List l = q.list();
那么Hibernate底层如何实现分页的呢?实际上Hibernate的查询定义在net.sf.hibernate.loader.Loader这个类里面,仔细阅读该类代码,就可以把问题彻底搞清楚。
Hibernate2.0.3的Loader源代码第480行以下:
if (useLimit) sql = dialect.getLimitString(sql);
PreparedStatement st = session.getBatcher().prepareQueryStatement(sql, scrollable);
如果相应的数据库定义了限定查询记录的sql语句,那么直接使用特定数据库的sql语句。
然后来看net.sf.hibernate.dialect.MySQLDialect:
public boolean supportsLimit() {
return true;
}
public String getLimitString(String sql) {
StringBuffer pagingSelect = new StringBuffer(100);
pagingSelect.append(sql);
pagingSelect.append(" limit ?, ?");
return pagingSelect.toString();
}
这是MySQL的专用分页语句,再来看net.sf.hibernate.dialect.Oracle9Dialect:
public boolean supportsLimit() {
return true;
}
public String getLimitString(String sql) {
StringBuffer pagingSelect = new StringBuffer(100);
pagingSelect.append("select * from ( select row_.*, rownum rownum_ from ( ");
pagingSelect.append(sql);
pagingSelect.append(" ) row_ where rownum <= ?) where rownum_ > ?");
return pagingSelect.toString();
}
Oracle采用嵌套3层的查询语句结合rownum来实现分页,这在Oracle上是最快的方式,如果只是一层或者两层的查询语句的rownum不能支持order by。
2)ibatis
PaginatedList list =sqlMap.queryForPaginatedList ("getProductList”, null, 10);
list.nextPage();
list.previousPage();
5.使用The Pager Tag Library
到http://jsptags.com/tags/navigation/pager/下载pager-taglib-2.0.war包,解压后可获得pager-taglib.jar,将其放到web-inf/lib/包下
分享到:
相关推荐
本主题聚焦于"易语言记录集真分页显示",这是一种实现大型数据集高效浏览的技术,对于处理大量数据的应用程序至关重要。 记录集是数据库中的一个概念,它代表了数据库中的一组相关数据行。在易语言中,记录集对象...
在这个主题中,我们将深入探讨"易语言数据库记录集分页显示"的相关知识点。 易语言是一种中文编程语言,它的设计目标是降低编程难度,使得更多的人能够参与到程序开发中。在易语言中,数据库记录集的分页显示涉及...
数据库记录集分页显示是数据库应用中的常见功能,特别是在网页或桌面应用程序中,当需要处理大量数据时,分页能够提高用户体验,避免一次性加载过多数据导致的性能问题。易语言是一种面向对象、易于理解的编程语言,...
在IT行业中,分页显示数据是一项非常常见的技术,特别是在网页应用和大数据展示中。它能够有效地管理和呈现大量的信息,提高用户界面的响应速度,减轻服务器的负担,同时提供更好的用户体验。下面将详细介绍分页显示...
通过学习和实践这些分页显示的知识点,你可以更好地处理大规模数据集,为用户提供流畅、高效的浏览体验。参考提供的博文链接(https://djlijian.iteye.com/blog/503981),你将能深入掌握实际操作中的技巧和最佳实践...
本教程主要探讨如何在JSP中实现数据的分页显示。 一、基本概念与原理 分页显示是将大量数据分为多个部分,每次只加载一部分到页面上,用户可以通过点击页码或导航按钮来切换不同的数据块。在JSP中,我们通常需要...
然而,当数据集非常大时,一次性加载所有记录可能导致应用程序性能下降,用户体验也会受到影响。这时,分页显示就显得尤为重要。分页技术能有效地解决这个问题,它将大量数据分成多个小部分,每次只加载一部分到界面...
在本文中,我们将深入探讨一个基于Web开发的实例,该实例涵盖了上传图片到服务器以及分页显示记录的功能。我们将使用Servlet技术来实现Web服务器与前端的交互,并涉及到MySQL数据库的使用。以下是对这些知识点的详细...
分页显示是网页和应用程序中常见的一种数据展示方式,它主要用于处理大数据集的显示问题,避免一次性加载所有数据导致页面响应变慢或者浏览器崩溃。在本文中,我们将深入探讨分页显示的概念、实现原理以及在不同场景...
在本篇内容中,我们主要探讨了在报表开发工具FineReport中如何实现单数据集分页SQL以及如何构建层式报表。这一过程涉及到对不同数据库类型的处理策略,特别是对于那些不能直接生成分页SQL的数据库,如Access。接下来...
在处理大规模数据集时,如何高效地进行分页显示成为了一个关键的技术挑战。传统的分页方法在面对数百万甚至上千万的数据记录时,往往会出现性能瓶颈,导致用户体验下降。本文将详细介绍一种能够在5秒内获取1448万条...
在ASP中实现对SQL SERVER数据库表记录的分页显示是...以上就是利用ASP在SQL SERVER中实现数据库表记录分页显示的关键知识点和实现策略。通过精心设计与实施分页功能,可以大大提升数据处理的效率,优化用户交互体验。
在网页开发中,数据分页显示是一项非常重要的技术,特别是在处理大量数据时,为了提高用户体验和页面加载速度,我们通常不会一次性将所有数据都显示在页面上,而是采用分页的方式,每次只加载一部分数据。...
本篇文章将详细介绍在ASP.NET中处理大结果集分页的方法及其背后的原理,旨在为开发者提供一种优化现有方法的新思路,并提供一个可供进一步测试与开发的基础应用。 #### 为什么需要分页 在Web应用程序中,特别是...
在Java Web应用中,分页通常涉及到数据库查询、结果集处理和前端UI展示三个部分。 Java中的分页库有很多种,例如Hibernate的Criteria API、MyBatis的PageHelper以及我们这里关注的"PagerTag"。PagerTag是一个基于...
LIMIT用于指定每页显示的记录数,OFFSET则用来跳过前几条记录,从而达到分页的效果。例如,如果我们想获取第2页,每页显示10条记录,SQL可能是这样的: ```sql SELECT * FROM table LIMIT 10 OFFSET 10; ``` ...
在分页显示中,我们需要编写Java代码来执行上述SQL查询,并处理返回的结果集。以下是一个简单的示例: ```java import java.sql.*; public class PageDemo { public static void main(String[] args) { String ...
标题和描述都提到了在ASP(Active Server Pages)中实现分页数字的显示,尤其是在...在实际应用中,可以根据具体场景调整分段显示的策略,如调整显示页数的范围、加入更多状态提示等,以满足不同需求下的最佳用户体验。
Datalist分页技术的核心原理是将大数据集分割成若干小部分,每次只加载和显示一部分数据,用户可以通过点击页码或导航按钮来切换不同的数据页。这样既能降低服务器的压力,也能提供更好的用户体验。 在实现Datalist...
因此,分页显示成为了一种广泛采用的技术手段,尤其在ASP(Active Server Pages)中,通过合理的分页策略可以有效提升网站性能和用户满意度。本文将基于给定的ASP分页显示文档,深入探讨其核心概念、实现机制以及...