JDBC 3.0 API (扩展部分)

本文介绍了JDBC中ConnectionPoolDataSource、DataSource、PooledConnection和RowSet等接口的功能及应用场景,探讨了如何通过这些接口实现数据库连接池,提高应用程序性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ø        ConnectionPoolDataSource接口

Public interface ConnectionPoolDataSource

接口功能

ConnectionPoolDataSource接口定义了获得PooledConnection连接的方法。在JDBC3.0中ConnectionPoolDataSource接口定义了几个标准的连接池属性。开发人员并不需要直接用API去修改这些属性,而通过应用服务器或数据库存储设备来实现。由于开发人员只会间接地被连接池属性的标准化所影响,所以有利之处并不明显。然而,通过减少厂商特定设置的属性的数量并用标准化的属性来代替,开发人员能更容易地在不同厂商的JDBC驱动程序之间进行交换。另外,这些属性还允许管理员很好地优化连接池,从而应用程序性能特点发挥到极致。

 

Ø        DataSource接口

public interface DataSource

接口功能

DataSource接口提供了建立数据库连接的另外一种途径。该接口由不同的驱动程序实现。与DriverManager类要求驱动程序必须在该类上注册不同,DataSource对象是通过基于JNDI命名和目录服务的查找操作而获得的。代码如下:

//get the initial JNDI naming context

Context ctx=new InitialContext();

//get the DataSource object associated with the logical name”jdbc/ACmeDB” and use it to obtain a //database connection

DataSource ds=(DataSource)ctx..lookup(“jdbc/ACmeDB”);

Connection con=ds.getConnection(“user”,”pwd”);

用DataSource接口取代DriverManager类来建立数据库连接可实现连接池机制,提高连接的效率及可伸缩性。DataSource对象提供了根据不同的需要可进行修改的属性,增强了程序的健壮性。

 

Ø        PooledConnection接口

public interface PooledConnection

接口功能

PooledConnection接口表示应用程序与数据库之间的物理连接,该连接可能重复利用,不必像Connection对象一样必须在连接使用结束时调用close方法关闭连接。这样大大减少了创建Connection对象的数目,可以降低系统开销。

 

Ø        RowSet接口

public interface RowSet extends ResultSet

接口功能

RowSet接口扩展了ResultSet,RowSet可以由应用程序直接生成实例,而ResultSet由执行查询语句的方法返回。

ResultSet对象中的数据通常都保存在数据库中,直到游标指向当前行,而RowSet对象将其执行SQL语句所得到的数据全部读取到内存中。这样做的优点有如下几点

1.         RowSet连接数据库的时间只是执行SQL语句时记取记录的时间,而ResultSet则要在关闭ResultSet之前一直保持打开的数据库连接。

2.         RowSet对象封装的内容可以序列化并存放在磁盘文件中,或是在网络上传输。

3.         由于RowSet中的数据都存放在内存中,可以按任何顺序访问,从而实现可滚动结果集。RowSet还提供了供修改数据的updateXXX方法,因此,还可以通过RowSet对象实现更新的结果集。

4.         在插入数据,改变数据或移动游标时会产生RowSetEvent事件,通知监听器RowSet对象的变化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值