变量申明
PAGESIZE: |
每页显示的记录数 |
CURRENTPAGE: |
当前页号 |
数据表的名字是: |
components |
索引主键字是: |
id |
ORACLE:
利用rownum关键字
--【1】
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21
--【2】
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
)
WHERE RN BETWEEN 21 AND 40
--
【2】比【1】低效
--如果不介意在系统中使用HINT的话,分页的查询语句为:
SELECT /*+ FIRST_ROWS */ * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21
--
利用not in 关键字
select
* from components
where id not in
(
select
id from components
where
rownum<=(PAGESIZE*(CURRENTPAGE-1))
)
and rownum<=PAGESIZE
order by id
--
利用minus关键字
select
* from components
where
rownum<=(PAGESIZE*(CURRENTPAGE-1))
minus
select
* from components
where
rownum<=(PAGESIZE*(CURRENTPAGE-2))
SQLSERVER,ACCESS:
select
top PAGESIZE *
from components
where id not in
(
select
top (PAGESIZE*(CURRENTPAGE-1)) id
from components
order by id
)
order by id
MYSQL:
select
*
from table
[查询条件]
order by id
limit ?,?
LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初 始记录行的偏移量是 0(而不是 1)。
例:
SELECT * FROM table LIMIT 5,10; // 检索记录行为6-15
分页工具类:
1:commons-java-pager是一个开源项目
下载地址:http://code.google.com/p/commons-java-pager/downloads/list
2:页面数据分页处理 SmartPagination
下载地址:http://code.google.com/p/smartpagination/downloads/list
内容自己整理代码来自互联网
转自:www.itlanguageexpress.info
分享到:
相关推荐
在PHP编程中,掌握一些常用的类...综上所述,这些PHP类覆盖了数据库交互、数据分页和图像处理等关键功能,是PHP开发中的基础工具。通过熟练运用这些类,开发者可以更高效地完成项目,同时保证代码的简洁性和可维护性。
分页工具类的主要作用是将大量数据分页显示,以便用户更方便地浏览和操作数据。该工具类可以根据数据总数和每页显示数量自动计算出总页数,并生成相应的分页工具条。 2. 分页工具类的组成 分页工具类主要由以下几...
1. `ReportUtil4Page.java`: 这可能是用于生成数据库分页查询的工具类,可能包含了与数据库交互的方法,如连接数据库、执行SQL、处理结果集等。 2. `Page.java`: 这个文件可能定义了一个`Page`类,用于封装分页查询...
开发者通过定义实体类和映射文件,可以避免编写大量的SQL语句,提高开发效率。 4. **添删改查操作**:这是任何数据管理系统的基石。在本项目中,用户可以通过系统界面执行这些操作,如添加新的新闻条目、删除已有的...
在实际开发中,我们通常会封装一个数据库操作工具类,提供分页查询的方法,参数包括表名、查询条件、排序字段、页码和每页大小。这样可以使代码更简洁,复用性更强。 总结来说,JDBC分页主要是通过构造带有LIMIT和...
3. **构建分页SQL**:基于给定的每页记录数和当前页数,类应生成带有LIMIT和OFFSET的SQL语句。LIMIT用于指定每页的记录数,OFFSET则是根据当前页数计算出的跳过记录的数量。 4. **执行查询**:使用数据库连接执行...
分页的关键在于限制返回的记录数,这通常通过`OFFSET`和`FETCH NEXT`语句实现。例如,每页显示20条记录,当前页为第3页: ```csharp int pageSize = 20; int currentPage = 3; int offset = (currentPage - 1) ...
这里提到的"对分页进行了封装,PageUtil.java工具类"是一个Java实现的分页辅助类,它的主要目标是简化分页查询的操作,提供更便捷的API给开发者使用。 `PageUtil.java`工具类可能包含了以下功能: 1. **参数处理**...
在实际开发中,为了提高代码复用性和可维护性,通常会把分页逻辑封装到一个通用的工具类中,这样多个Action都可以方便地使用。此外,还要注意处理边界条件,如当用户请求的页数超过总页数时,应正确跳转到最后一页。...
总之,这个压缩包提供的PHP分页类和数据库操作类是开发中非常实用的工具,能够简化分页和数据库交互的代码,提高开发效率。正确理解和使用这些类,可以让你的网站或应用更加高效和易用。在使用过程中遇到任何问题,...
学习这个分页类,不仅可以加深对PHP数据库操作的理解,还可以借鉴其设计模式,为自己的项目提供可复用的分页解决方案。在实际应用中,我们可以根据需要自定义这个类,比如添加缓存机制、错误处理、优化性能等功能,...
这里的"java分页工具类"就是为了解决这一问题而设计的,它允许开发者通过指定起始页号和每页显示的条数来实现高效且灵活的分页功能。 分页的核心思想是将数据库中的数据分割成多个部分,每次只加载一部分(即一页)...
为了提高代码的可复用性和可维护性,分页工具类可能会设计成一个静态工具类,提供如`getPageBySQL(String sql, int currentPage, int pageSize)`这样的静态方法,接收基础的SQL语句和分页参数,返回一个`Page`对象。...
### Java分页工具类及其在Struts、Spring、MyBatis和JSP中的应用 #### 一、Java分页概述 在开发Web应用程序时,为了提高用户体验并减轻服务器压力,通常会采用分页技术来展示大量的数据记录。本文将详细介绍一个...
在给定的资源中,包含的"PaginationSupport.java"和"PageDao.java"两个工具类,正是为了实现这种功能而设计的。 PaginationSupport.java是分页支持类,通常会包含以下关键知识点: 1. **参数设置**:此类可能包含...
7. **分页查询**:为了实现分页功能,工具类通常需要接受页码和每页大小作为参数,构造带有LIMIT和OFFSET子句的SQL语句。 8. **异常处理**:工具类应该捕获并处理JDBC相关的异常,如SQLException,以便向调用者提供...
在PHP开发中,经常会遇到对数据进行分页展示、与MySQL数据库交互以及文件上传的需求。以下是对这些核心功能的详细解释: ### 分页类(Page.class.php) ...这些工具类的使用,使得PHP开发变得更加高效和规范。
原创强大的jdbc数据库操作工具类: 1.获取数据源 2.设置数据源 3.获取数据库连接 4.执行insert/delete语句,一个参数列表 public static boolean excute(String sql, List args) 5.执行insert/delete语句,多个参数...
3. **数据库分页语句**: 上述存储过程中的`OFFSET-FETCH`是SQL Server 2012及更高版本支持的分页语法。对于不支持此语法的数据库系统,如MySQL,可以使用`LIMIT`和`OFFSET`,或者`ROW_NUMBER()`函数配合`WHERE`...
3. **分页参数校验**:在使用分页工具类时,需要对输入的页数和每页记录数进行合法性检查,防止出现负数或超出范围的情况。 4. **封装分页结果**:返回的分页结果通常会包含当前页数据、总记录数、总页数等信息,...