采用JDBC进行数据库分页查询
/**
* 一次只从数据库中查询最大maxCount条记录
* @param sql 传入的sql语句
* @param startNo 从哪一条记录开始
* @param maxCount 总共取多少条记录
*/
public void getData(String sql,int startNo,int maxCount){
Connection conn = ConnectionUtil.getConnection();
try {
// conn.prepareStatement(sql,游标类型,能否更新记录);
// 游标类型:
// ResultSet.TYPE_FORWORD_ONLY:只进游标
// ResultSet.TYPE_SCROLL_INSENSITIVE:可滚动。但是不受其他用户对数据库更改的影响。
// ResultSet.TYPE_SCROLL_SENSITIVE:可滚动。当其他用户更改数据库时这个记录也会改变。
// 能否更新记录:
// ResultSet.CONCUR_READ_ONLY,只读
// ResultSet.CONCUR_UPDATABLE,可更新
PreparedStatement pstat = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
//最大查询到第几条记录
pstat.setMaxRows(startNo+maxCount-1);
ResultSet rs = pstat.executeQuery();
//将游标移动到第一条记录
rs.first();
// 游标移动到要输出的第一条记录
rs.relative(startNo-2);
while(rs.next())
System.out.println(rs.getInt(1));
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 从数据库中查询所有记录,然后通过游标来获取所需maxCount条记录
* @param sql 传入的sql语句
* @param startNo 从哪一条记录开始
* @param maxCount 总共取多少条记录
*/
public void getDataFromAll(String sql,int startNo,int maxCount){
Connection conn = ConnectionUtil.getConnection();
try {
PreparedStatement pstat = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs = pstat.executeQuery();
rs.first();
rs.relative(startNo-1);
int i = startNo-1;
while(i < startNo + maxCount-1 && !rs.isAfterLast()){
System.out.println(rs.getInt(1));
i++;
rs.next();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
摘自:http://www.blogjava.net/phe441/archive/2006/12/11/87042.html
分享到:
相关推荐
在Java开发中,JDBC(Java Database ...总的来说,JDBC分页查询是Java数据库操作中的常见需求,通过合理设计和优化,可以有效提升应用的性能和用户体验。给定的源码应当提供了具体的实现细节,供开发者参考学习。
jdbc分页查询,利用mysql的limit实现分页查询。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...
使用JDBC进行分页查询,通常需要编写SQL的LIMIT或OFFSET子句,以获取特定范围的数据。 分页的核心在于如何有效地获取和展示数据库中的数据片段。在JSP中,我们可以通过设置请求参数来传递当前页码和每页显示的记录...
项目主体结构是dao+db+filter+pojo+servlet, 使用技术Servlet转发,代码中有注释帮助学者理解,数据库为MySQL资源...实现的数据库内容分页,查询分页,对初学者难点是根据get请求的中的url地址进行查询后的分页效果。
在JavaWeb开发中,"JavaWeb+JSP+Servlet+JDBC分页查询和查询后分页界面优化"是一个常见的需求,特别是在构建大型的、数据密集型的学生管理系统中。这个主题涵盖了许多关键知识点,让我们逐一深入探讨。 首先,...
总结,"jdbc+serlvet分页查询代码"是Java Web开发中一个常见的应用场景,它展示了如何利用JDBC进行数据库操作,以及Servlet如何处理HTTP请求并返回动态生成的页面,同时包含了实现简单分页查询的策略。通过这个示例...
本教程将深入探讨如何使用JDBC和MySQL实现分页查询。 首先,我们需要理解分页的基本概念。分页是将大型数据集分割成较小、更易管理的部分,通常每页包含一定数量的记录。在Web应用中,这通常通过设置“每页条目数”...
在IT行业中,数据库管理和数据检索是至关重要的环节,...通过编写Action类处理请求,利用Oracle的ROWNUM进行分页查询,并通过JDBC接口与数据库交互,最后通过分页模型类管理和展示数据,从而实现高效、易用的分页功能。
Java JDBC 分页查询是数据库操作中的常见需求,用于在大量数据中实现高效的页面导航。...这个例子对于初学者理解JDBC分页查询和数据源管理非常有帮助,同时也提醒我们在实际开发中应关注代码的可扩展性和复用性。
网络上有一种通用的JDBC分页方案,它创建了一个名为`ResultSetWithPage`的新接口,该接口继承自`ResultSet`并添加了分页相关的方法,如`getPageSize()`, `getCountOfPages()`, `getCountOfRows()`, `nextPage()`, `...
本文将深入探讨如何使用JDBC实现动态查询和分页查询的结合,这对于开发人员来说是一项基础但至关重要的技能。 首先,我们要了解JDBC的基础知识。JDBC是一个Java API,它提供了一系列的接口和类,使得Java程序员能够...
分页查询通常涉及SQL的LIMIT和OFFSET子句。创建`PreparedStatement`对象,因为它更安全,可防止SQL注入。 3. **构造SQL语句**: 构造包含LIMIT和OFFSET的SQL查询。例如: ```sql SELECT * FROM table_name ...
在这个"jdbc分页demo"中,主要涵盖了JDBC连接数据库、预编译SQL、执行查询、处理结果集以及在JSP页面上展示数据等步骤。通过这个例子,开发者可以了解如何在实际项目中实现基于JDBC的分页查询,提升Web应用的性能和...
分页查询的关键在于构造带有LIMIT和OFFSET子句的SQL语句。LIMIT用于限制返回的结果数量,OFFSET指定从哪一行开始获取数据。例如,要获取第2页(每页10条记录),SQL可能是`SELECT * FROM table LIMIT 10 OFFSET 10`...
总结来说,面向对象的Java JDBC分页查询涉及到创建Page类来存储分页信息,构造Oracle兼容的SQL语句,以及使用PreparedStatement执行查询。在实际开发中,我们还需要关注性能优化、异常处理和代码的可维护性,确保...
一次只从数据库中查询最大maxCount条记录 * @param sql 传入的sql语句 * @param startNo 从哪一条记录开始 * @param maxCount 总共取多少条记录 */ public void getData(String sql,int startNo,int maxCount){ ...
在进行分页查询时,JDBC扮演了桥梁的角色,将Java代码与SQL查询语句连接起来。 物理分页是指数据库实际执行的分页过程,它直接在数据库层面进行数据切割,只返回所需页面的数据,减少了网络传输的数据量。在MySQL中...
在Java编程中,JDBC(Java Database ...总结来说,JDBC分页主要是通过构造带有LIMIT和OFFSET的SQL查询来实现的,结合数据库连接、预编译的SQL语句和结果集的处理,可以在Java应用程序中优雅地完成数据库分页操作。
3. **创建Statement或PreparedStatement**:对于分页查询,PreparedStatement更安全,因为它支持预编译SQL语句,能有效防止SQL注入攻击。例如,我们可以创建一个带有LIMIT和OFFSET子句的SQL(Oracle使用ROWNUM实现...
Oracle JDBC分页实现是数据库操作中的一个重要环节,尤其是在处理大量数据时,为了提高用户体验和系统性能,分页查询显得尤为重要。Oracle数据库提供了多种方法来实现分页查询,其中包括使用ROWNUM伪列、游标...