- 浏览: 741898 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (194)
- Webservice (6)
- ExtJs (2)
- Work Summary (4)
- CoreJava (51)
- Spring (10)
- EJB (5)
- struts1.x (3)
- C/C++ (5)
- DatabaseManager (19)
- Hibernate (5)
- Crytology (1)
- Web Server (5)
- Software Manager (5)
- WebUi (39)
- Web page (2)
- android (5)
- struts2 (12)
- Java 导出 Excel (1)
- Spring 与struts2 和Hibernate 4.0注解解决方安 (1)
- Dwr (1)
- maven3 (4)
- Windows (3)
- 表格头部信息不动使用Jquery 外部框架 (1)
- 软件行业动态 (1)
- mybatis (1)
- C# (3)
- MySQL (4)
最新评论
-
July01:
最近了解到一款StratoIO打印控件,功能如下:1、Html ...
LODOP插件开发 -
an52036:
u010980147 写道您的代码确实能生成条形码,但是打印出 ...
Java 条形码生成(一维条形码) -
di1984HIT:
学习了,很好~~
Ant 打包war 生成文件内容build.xml -
lhb319lhb:
如果 ajax(jquery)更新了 iframe 的 src ...
jquery 修改iframe src -
calosteward:
感谢楼主,除了一维条码,有没有相关二维码的资源呢?______ ...
Java 条形码生成(一维条形码)
@author 刘庆
jdbc 实现分页,的实现
原理这个就不介绍了。。
总之是用jdbc 的游标移动
package com.sp.person.sql.util; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Map; import java.util.TreeMap; import javax.sql.DataSource; /** * 常常有同事在问JDBC 分页查询 这里给二个例子介绍一下 * JDBC 分页查询 * 分成二种方式希望对大家有所帮助 * 分另表示了absolute 与relative 的区别 * @see 这时用到一个数据源设计模式 * 数据源与数据库连接没有关系 * 例用接口回调的特性 * @author liuqing * @version 1.0 * 2011-8-2 * */ public class JdbcUtil { /** * 数据源 */ private DataSource dataSource; /** * 不否启用多数据源 */ private boolean isMultipleDataSource; /** * 有时一个系统可能要使用多个数据源,存放多个数据源 */ private Map<String,DataSource> dataSources = new TreeMap<String,DataSource>(); /** * if true isMultipleDataSource is Key to DataSource */ private String dataSourceKey; /** * 默认构造器 */ public JdbcUtil() { } /** * 构造器 Spring 的构造器注入 * @param dataSource */ public JdbcUtil(DataSource dataSource) { this.dataSource = dataSource; } /** * JDBC 分页查询 * @param sql SQL 查询语句 * @param firstSize 起始页 * @param maxSize 返回数据条数 * @return ResultSet * @throws SQLException */ public ResultSet queryPageAbsolute(String sql, int firstSize,int maxSize) throws SQLException { PreparedStatement pre = this.getConn().prepareStatement(sql); pre.setMaxRows(maxSize); ResultSet rs = pre.executeQuery(); rs.absolute(firstSize * maxSize); return rs; } /** * JDBC 分页查询 * @param sql SQL 查询语句 * @param firstSize 起始页 * @param maxSize 返回数据条数 * @return ResultSet 返回结果集 * @throws SQLException */ public ResultSet queryPageRelative(String sql, int firstSize,int maxSize) throws SQLException { PreparedStatement pre = getConn().prepareStatement(sql); pre.setMaxRows(maxSize); ResultSet rs = pre.executeQuery(); rs.relative(firstSize); return rs; } /** * * @return Connection * @throws SQLException */ private Connection getConn() throws SQLException { //使用多数据源的情况 if (this.isMultipleDataSource) { DataSource v_dataSource = this.queryDataSourceByKey(); if (v_dataSource != null) { return v_dataSource.getConnection(); } } return this.dataSource.getConnection(); } /** * 获得多数据源方法 * @return DataSource */ public DataSource queryDataSourceByKey() { for (Map.Entry<String, DataSource> ds:this.dataSources.entrySet()) { if (ds.getKey().equals(dataSourceKey)) { return ds.getValue(); } } return null; } /** * 获得多数据源方法 * @return DataSource */ public DataSource queryDataSourceByKey(String useKey) { for (Map.Entry<String, DataSource> ds:this.dataSources.entrySet()) { if (ds.getKey().equals(useKey)) { return ds.getValue(); } } return null; } /** * 数据源 */ public DataSource getDataSource() { return dataSource; } /** * 数据源 setter 注入 */ public void setDataSource(DataSource dataSource) { this.dataSource = dataSource; } /** * @return the isMultipleDataSource */ public boolean isMultipleDataSource() { return isMultipleDataSource; } /** * @param isMultipleDataSource the isMultipleDataSource to set */ public void setMultipleDataSource(boolean isMultipleDataSource) { this.isMultipleDataSource = isMultipleDataSource; } /** * @return the dataSources */ public Map<String, DataSource> getDataSources() { return dataSources; } /** * @param dataSources the dataSources to set */ public void setDataSources(Map<String, DataSource> dataSources) { this.dataSources = dataSources; } /** * 返回当前使用的数据源 * @return the dataSourceKey */ public String getDataSourceKey() { return dataSourceKey; } /** * 要使用的数据源为 * @param dataSourceKey the dataSourceKey to set */ public void setDataSourceKey(String dataSourceKey) { this.dataSourceKey = dataSourceKey; } }
发表评论
-
ubuntu 安装JDK失败
2020-09-01 20:40 0文件/etc/apt/sources.list是一个普通可 ... -
ubuntu完美卸载JDK
2020-09-01 12:31 781要删除 OpenJDK (如果已安装的话)。首先,检查是安装 ... -
freemark 基本语法
2018-03-22 23:19 903reemarker的基本语法及入门基础 一、freem ... -
linux 新增硬盘分区并挂载
2016-06-02 12:45 1711运行fdisk -l 查看计算机对应的硬盘信息 Disk ... -
JasperReports打印图片
2016-05-21 22:20 2978long start = System.currentTim ... -
CAS 客户端与一般Web项目集成
2015-07-04 16:20 16218这一段时间有同事在问CAS -Client的问题这里就基本问 ... -
CAS-项目集成问题整理
2015-07-04 15:24 1423javax.net.ssl.SSLHandshakeExc ... -
CAS 与Tomcat 集成
2015-06-29 15:16 3770第一节:生成证书 第一步:生成keystore注意【cn= ... -
logback 日志配置生成当天志并分大小
2015-03-26 17:00 1665<?xml version="1.0&quo ... -
Mysql锁表问题
2015-03-26 09:57 9261)查询锁表问题 show open tables ... -
excel 导出文件中文问题
2015-03-24 23:39 1765package com.tzdr.common.utils; ... -
HttpURLConnection Post
2015-02-04 17:08 960/** * Http访问 * @param ht ... -
java获取classpath路径
2015-02-01 11:03 7841ClassLoader 提供了两个方法用于从装载的类路径中取 ... -
Con 表达式
2014-12-28 13:00 2936cron表达式详解 Cron表 ... -
Spring3 +JPA
2014-12-25 19:23 12651)META-INF/persistence.xml T ... -
Hessian调用方法
2014-09-26 12:45 6161package com.huashun.api. ... -
Freemark的使用
2014-06-09 15:27 1011freemark 解释 package com.pa ... -
J2EE安装问题
2014-03-20 16:39 993安装J2EE的SDK报错:could ... -
Applet 有包配置及开发HeloWorldl
2013-06-13 08:48 12171.开发代码 package com.newt ... -
Jetty嵌入式服务器端开发
2013-06-07 08:09 10991.服务器代码 package com.newto ...
相关推荐
以下是一个简单的示例代码片段,展示如何使用JDBC实现分页: ```java int pageSize = 10; // 每页记录数 int currentPage = 1; // 当前页数 String sql = "SELECT * FROM table_name LIMIT ? OFFSET ?"; try ...
总结来说,"sturts+oracle+jdbc实现分页"是一个典型的Java Web开发任务,涉及到Struts框架、Oracle数据库操作和JDBC技术的综合运用。通过编写Action类处理请求,利用Oracle的ROWNUM进行分页查询,并通过JDBC接口与...
本教程主要围绕"纯JSP +JDBC实现分页"这一主题,为初学者提供详细的步骤和讲解,帮助理解JSP、分页和JDBC的基础知识。 首先,我们需要了解JSP(JavaServer Pages)的基本概念。JSP是Java技术的一种,它允许Web...
jdbc分页查询,利用mysql的limit实现分页查询。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...
本文将深入探讨如何结合这两种技术来实现分页功能。 分页在Web应用中至关重要,它允许用户逐步浏览大量数据,避免一次性加载所有内容导致的性能问题。在Struts框架下,我们可以利用Action、Form和Result等组件,...
本篇将详细介绍如何基于原生的MySQL JDBC实现一个简单的分页组件,这对于初学者理解数据库操作和分页原理非常有帮助。 1. **JDBC基础**: JDBC是Java访问数据库的标准接口,它提供了连接数据库、执行SQL语句、处理...
在IT行业中,网页开发是至关重要的一个领域,...总的来说,理解和掌握JSP、JDBC以及如何在MySQL中实现分页是每个Web开发者必备的技能。通过这种方式,可以构建高效、可扩展的网页应用,满足用户对大量数据的浏览需求。
这个例子展示了如何使用SpringMVC和JDBC实现分页功能。注意,实际项目中可能还需要考虑其他因素,如错误处理、安全性、性能优化等。此外,随着NoSQL数据库的普及和ORM框架的流行,如Hibernate和MyBatis,开发者在...
在处理大量数据时,为了提高用户体验,通常需要实现分页功能,以便用户可以逐步加载和浏览数据,而不是一次性加载所有内容。本示例将探讨如何使用JDBC实现一个简单的分页查询。 首先,我们需要理解分页的基本概念。...
通过上述分析,我们可以看到JSP与JDBC结合实现分页功能的全过程。这种技术不仅能够高效地处理大数据量的展示,还能提供搜索和筛选功能,极大地提高了Web应用的性能和用户体验。对于开发者而言,理解并掌握这些核心...
因此,我们通常使用JDBC实现分页查询,通过设置SQL的LIMIT或OFFSET子句(取决于数据库类型)来只获取当前页面的数据。这不仅提高了性能,还减少了网络传输的数据量。 2. **Servlet**:在分页查询的流程中,Servlet...
面对这一问题,开发者通常需要借助JDBC提供的资源自行实现分页。基本思路是首先初始化分页参数,如页面大小(pageSize)、当前页(currentPage)、记录总数(countOfRows)以及页面总数(countOfPages)。通过这些...
在实现分页时,`OFFSET`常与`LIMIT`一起使用,以确定起始位置。 以下是一个简单的Java代码示例,展示了如何使用JDBC执行带有`LIMIT`和`OFFSET`的SQL查询: ```java int pageSize = 10; // 每页记录数 int pageNum ...
Oracle数据库提供了多种方法来实现分页查询,其中包括使用ROWNUM伪列、游标(CURSOR)以及Oracle的高级分页功能如ROW_NUMBER()、RANK()和DENSE_RANK()等。 1. ROWNUM伪列: ROWNUM是Oracle数据库特有的一个伪列,它...
本示例着重讲解如何利用JDBC和Oracle数据库实现分页功能,同时涵盖一个表的基本操作:增加、删除和修改。 首先,我们需要了解JDBC。JDBC是Java API,它提供了一套标准接口,使得Java程序可以与各种类型的数据库进行...
以上就是使用Java Servlet和JDBC实现分页功能的基本步骤。在实际开发中,你可能还需要考虑更多细节,例如错误处理、事务管理、安全措施等。理解这些知识点后,你可以根据具体项目需求进行调整和扩展,以构建更加健壮...
在JDBC中实现分页,我们可以通过以下步骤: 1. **建立数据库连接**: 使用`DriverManager.getConnection()`方法,传入数据库URL、用户名和密码,获取`Connection`对象。确保已经将对应的JDBC驱动添加到项目的类...
### 在JDBC与Hibernate中实现分页功能 随着数据量的不断增长,高效地管理和展示大量数据成为了一个挑战。为了优化用户体验并减轻服务器负担,分页技术被广泛应用于各种应用场景中。本文将深入探讨如何在Java开发...
以下是一段使用JDBC实现分页查询的基本步骤: 1. **建立数据库连接**:使用`DriverManager.getConnection()`方法,传入数据库URL、用户名和密码,建立与Oracle数据库的连接。 2. **设置SQL查询语句**:在分页查询...
总的来说,JDBC实现的JSP分页是一种实用的技术,尤其在没有使用ORM框架如Hibernate的情况下。虽然不如ORM框架那样便捷,但理解这种基础方法有助于深入理解数据访问层的工作原理,为日后的开发打下坚实的基础。