接口 | 描述 |
---|---|
CommonDataSource |
接口定义这是常见的
DataSource 之间的方法,
XADataSource 和
ConnectionPoolDataSource 。
|
ConnectionEventListener |
一个对象,寄存器被通知的
PooledConnection 对象生成的事件。
|
ConnectionPoolDataSource |
一个
PooledConnection 对象的工厂。
|
DataSource |
对,这
DataSource 对象代表的物理数据源的连接工厂。
|
PooledConnection |
用于连接池管理的对象,它提供了一个连接池管理。
|
RowSet |
增加支持API的JavaBeans组件模型™JDBC接口。
|
RowSetInternal |
的接口,以实现
RowSet 对象呈现一个
RowSetReader 或
RowSetWriter 对象。
|
RowSetListener |
一个接口,必须通过一个组件,要通知在一个
RowSet 对象的生活发生重大事件时执行。
|
RowSetMetaData |
一个对象包含有关在
RowSet 对象的列的信息。
|
RowSetReader |
设备断开连接的
RowSet 对象调用与数据行填充自己。
|
RowSetWriter |
实现
RowSetWriter 接口的对象,称为作家。
|
StatementEventListener |
一个对象注册通知,声明中对PreparedStatements池发生的事件。
|
XAConnection |
为分布式事务提供支持的对象。
|
XADataSource |
一个
XAConnection 对象内部使用厂。
|
类 | 描述 |
---|---|
ConnectionEvent |
一个
Event 对象提供有关连接相关事件的信息来源。
|
RowSetEvent |
一个
Event 对象生成的事件发生时,一个
RowSet 对象。
|
StatementEvent |
一个
StatementEvent 发送给所有
StatementEventListener s分别与
PooledConnection 注册。
|
java.sql
,作为1.4版本,包括在java平台,标准版(java SE
TM)。这是java平台的一个重要组成部分,企业版(java EE
TM)。
的javax.sql
包提供了以下:
DataSource
接口作为一种替代的DriverManager
用于建立与数据源的连接应用程序使用DataSource
和RowSet
API直接,但连接池和分布式事务API由中间层基础设施内部使用。
DataSource
对象进行连接javax.sql
包提供给数据源连接的首选方法。的
DriverManager
类,原有的机制,仍然是有效的,和代码使用它将继续运行。然而,新的
DataSource
机制是首选,因为它提供了许多优点
DriverManager
机制。
这些都是用DataSource
对象做一个连接的主要优点:
DataSource
对象,实现了中间层的基础工作。通过DriverManager
连接没有连接和语句合并交易能力或分布。驱动程序供应商提供DataSource
实现。一个特定的DataSource
对象代表一个特定的物理数据源,每个连接的DataSource
对象创建是一个物理数据源连接。
对数据源的逻辑名称注册,命名服务,使用java命名和目录interfaceTM(JNDI)API,通常由系统管理员或有人进行系统管理员的职责。应用程序可以通过查找的逻辑名称,已注册的对象要DataSource
检索。然后,应用程序可以使用DataSource
对象创建一个物理数据源是连接。
一个DataSource
对象可以实现工作与中间层的基础设施使它产生的连接将汇集重用。使用这种DataSource
实现应用程序将自动获得参与在连接池中的连接。一个DataSource
对象也可以实现工作与中间层的基础设施,所以它产生的连接可用于分布式事务,没有任何特殊的编码。
DataSource
对象,实现了与中间层的连接池管理工作将参与连接池。这可以显着提高性能,因为创建新的连接是非常昂贵的。连接池允许一个连接被使用和重用,从而大大减少了需要创建的新连接的数量。
连接池是完全透明的。这是一个java EE配置中间层自动完成的,因此从应用的角度来看,不需要更改代码。应用程序只使用DataSource.getConnection
方法得到的池连接并使用它以同样的方式使用任何Connection
对象。
用于连接池的类和接口是:
ConnectionPoolDataSource
PooledConnection
ConnectionEvent
ConnectionEventListener
StatementEvent
StatementEventListener
ConnectionPoolDataSource
对象上调用创建一个
PooledConnection
对象,连接池管理器将登记作为一个新的
PooledConnection
对象
ConnectionEventListener
对象。当连接关闭或有错误,连接池管理器(是一个听众)得到通知,包括
ConnectionEvent
对象。
如果连接池管理器支持Statement
池,为PreparedStatements
,这可以通过调用方法DatabaseMetaData.supportsStatementPooling
确定,连接池管理器将登记作为一个新的PooledConnection
对象StatementEventListener
对象。当PreparedStatement
关闭或有错误,连接池管理器(是一个听众)得到通知,包括StatementEvent
对象。
DataSource
对象,实现了与中间层基础工作可能参与分布式事务。这给出了一个应用程序的能力,涉及到多个服务器上的数据源在一个单一的交易。
用于分布式事务的类和接口是:
XADataSource
XAConnection
的XAConnection
接口是来自PooledConnection
接口,因此适用于池连接也适用于连接,分布式事务的一部分。中间层的事务管理器可以透明地处理一切事务。应用程序代码中唯一的更改是,应用程序不能做任何会干扰事务管理器处理事务的任何事务。具体而言,应用程序不能调用方法Connection.commit
或Connection.rollback
,不能设置连接是在自动提交模式(即,它不能叫Connection.setAutoCommit(true)
)。
一个应用程序不需要做任何特殊的事情来参与一个分布式事务。它简单的创建连接到数据源,它希望通过使用DataSource.getConnection
方法,只是像往常一样。事务管理器管理幕后的事务。的XADataSource
创建界面XAConnection
对象,每个对象创建一个XAConnection
XAResource
对象事务管理器用来管理连接。
RowSet
接口与各种其他类和幕后的接口。这些可以分为三类。
RowSetListener
RowSet
对象是javabeansTM组件因为它有属性和参与JavaBeans事件通知机制。的RowSetListener
接口所组成,要通知有关所发生的特定事件RowSet
对象实现。这样的一个组成部分,将自身注册为一个通过RowSet.addRowSetListener
法行集的听众。当RowSet
对象改变它的一个排,改变这一切的行,或移动光标,并通知侦听器注册它。侦听器通过执行调用它的通知方法的实现而作出反应。
RowSetEvent
RowSet
对象创建RowSetEvent
实例并将其传递给听众。听众可以利用这RowSetEvent
对象找出行集有事件。RowSetMetaData
ResultSetMetaData
接口,提供了一RowSet
对象的列的信息。应用程序可以使用RowSetMetaData
方法找出多少列行集包含什么样的数据每一列可以包含。的RowSetMetaData
界面提供设置列的信息的方法,但应用通常不会使用这些方法。当应用程序调用的方法的RowSet
execute
,RowSet
对象将包含一个新的行的集合,其RowSetMetaData
对象将被内部更新包含新列的信息。
RowSetInternal
接口可以与它填充数据本身的RowSetReader
对象RowSet
对象。它也呼吁RowSetWriter
对象相关联的任何更改其行写回数据源从它最初就行。一个数据集,保持连接到数据源不需要使用读写器因为它可以操作数据源直接。
RowSetInternal
接口RowSetInternal
RowSet
对象获取其内部状态和能够调用其读者和作家。一个数据集记录的值在当前行的值之前的,称为起初的值。一个数据集还可以跟踪(1)的参数已设置为它的命令和(2)的连接,通过它,如果任何。一个数据集使用RowSetInternal
方法在幕后得到这样的信息。一个应用程序通常不直接调用这些方法。RowSetReader
RowSet
对象,实现了RowSetInternal
界面可以调用它的读者(与它相关的RowSetReader
对象)用数据填充它。当应用程序调用的RowSet.execute
方法,方法调用的行集的读者做很多工作。实现可以千差万别,但一般读者是连接到数据源,读取数据源中的数据填充数据集时,和关闭连接。读者也可以更新自己的RowSetMetaData
行集对象。该行的内部状态也更新了,无论是读者或直接的方法RowSet.execute
。RowSetWriter
RowSet
对象,实现了RowSetInternal
界面可以调用它的作者(与它相关的RowSetWriter
对象)写回数据源的变化。实现可能千差万别,但一般来说,一个作家要做到以下几点:
的RowSet
接口可以在任何数量的方式实现,任何人都可以写一个实现。鼓励开发人员想出新的方法来使用行集使用他们的想象力。
重要注意事项:代码使用API标志着“自1.6”必须运行使用JDBC技术驱动实现了JDBC 4 API。您必须检查您的驱动程序文档,以确保它实现了您要使用的特定功能。
javax.sql
封装的类和接口的详细信息:
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.