|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個軟體套件 下一個軟體套件 | 框架 無框架 |
RowSet
實作的標準介面和基礎類別。
請參見:
描述
介面摘要 | |
---|---|
CachedRowSet | 所有標準 CachedRowSet 實作都必須實作的介面。 |
FilteredRowSet | 所有標準 FilteredRowSet 實作都必須實作的標準介面。 |
JdbcRowSet | 所有標準 JdbcRowSet 實作都必須實作的標準介面。 |
Joinable | 1.0 背景
Joinable 介面提供了用於獲取和設置比對列的各種方法,比對列是形成通過將 RowSet 物件添加到 JoinRowSet 物件所形成的 SQL JOIN 的基礎。 |
JoinRowSet | JoinRowSet 介面提供了一種機制,用於將取自不同 RowSet 物件的相關資料組合到一個 JoinRowSet 物件中,該物件表示一個 SQL JOIN 。 |
Predicate | 為所有 FilteredRowSet 物件提供框架以描述其過濾器的標準介面。 |
WebRowSet | 所有 WebRowSet 的實作都必須實作的標準介面。 |
類別摘要 | |
---|---|
BaseRowSet | 提供一個具有基本功能的 RowSet 物件的抽象類別。 |
RowSetMetaDataImpl | 為設置和獲取關於 RowSet 物件列的元資料資訊的方法提供實作。 |
異常摘要 | |
---|---|
RowSetWarning | SQLException 的一個擴展,提供關於在 RowSet 物件上設置的資料庫警告的資訊。 |
JDBC RowSet
實作的標準介面和基礎類別。此套件包含了標準 RowSet
實作可實作或擴展的各種介面和類別。
RowSet
介面。所有這 5 個介面都擴展了 JDBC 3.0 規範中描述的 RowSet 介面。可以預計隨著此項技術的成熟,會出現其他更專用 JDBC RowSet
型別的定義。以後的定義應該 通過繼承指定為子介面,與此規範中所用的方式類似。
註:此套件中提供的介面定義構成了所有相容 JDBC RowSet
實作的基礎。供應商和打算提供其自己的相容 RowSet
實作的高層級開發人員應該特別注意在介面規範中詳述的宣告。
JdbcRowSet
- ResultSet 物件的套件裝器,使得該結果集用作 JavaBeansTM 元件成為可能。因此,JdbcRowSet 物件可以是一個 Bean,任何工具都可將其作為基於架構的元件部分來組裝應用程序。JdbcRowSet 物件是連接的 RowSet
物件,也就是說,它必須使用啟用 JDBC 技術的驅動程序(“JDBC 驅動程序”)來持續維持它與資料源的連接。此外,JdbcRowSet
物件提供完全可更新和可滾動的表格資料結構,這在 JDBC 3.0 規範中定義。
CachedRowSet
TM> - CachedRowSet 物件是一個 JavaBeansTM 元件,是可滾動的、可更新的、可序列化的,並且通常是與其資料源斷開連接的。CachedRowSet 物件通常包含取自結果集的多個行,但是也可包含任何取自表格式檔案(如電子錶格)的行。CachedRowSet 實作必須使用 SyncFactory 管理和獲得可插入的 SyncProvider
物件,以便在非連接 RowSet
物件和原始資料源之間提供同步。通常 SyncProvider
實作依靠 JDBC 驅動程序來連接特定資料源。javax.sql.rowset.spi
套件規範中討論了關於此機制的更多詳細資訊。
WebRowSet
- WebRowSet
物件是 CachedRowSet 的擴展,可以用合適的 XML 格式讀取和寫入 RowSet
物件。此類別調用 XmlReader
物件(RowSetReader
介面的擴展)來讀取 XML 格式的 rowset。調用 XmlWriter
物件(RowSetWriter
介面的擴展)來寫入 XML 格式的 rowset。SyncFactory
以 SyncProvider
實作的形式提供 WebRowSet
物件所需的 reader 和 writer。為了確保使用合適的 XML,在 http://java.sun.com/xml/ns/jdbc/webrowset.xsd
中定義共時布了標準的通用 XML 網要。
FilteredRowSet
- FilteredRowSet 物件以程式和可擴展的方式提供過濾功能。有很多實例在 RowSet object
需要在其內容中提供過濾時無需放棄非連接環境,從而節省了必須創建到資料源的連接所帶來的開銷。從提供重量級的全部 SQL 查詢能力,到可移植的元件,再到更輕量級的方法,這一需求的解決方案各有不同。FilteredRowSet
物件使用 Predicate
介面的實作,該介面可以在運行時定義一個過濾器。接著,FilteredRowSet
物件的任務是強行為入站 (inbound) 和出站 (outbound) 讀寫操作設置過濾器。也就是說,可以將所有過濾器認為是雙向的。未定義任何標準過濾器;但是指定了足夠的機制以允許實作任何所需的過濾器。
JoinRowSet
- JoinRowSet 介面描述了一種機制,根據這種機制可在兩個或多個標準 RowSet
實作之間建立關係。可將任意數目的 RowSet 物件添加到 JoinRowSet 物件中,只要能夠以 SQL JOIN 類似的方式將這些 RowSet 物件關聯起來。根據定義,SQL JOIN 語句用於根據公共的屬性將兩個(或多個)關聯型資料庫表中包含的資料組合起來。通過建立然後實施列比對,JoinRowSet 物件可在 RowSet 實例之間建立關係,而無需觸動原始資料源。
RowSet
實作的相容實作必須遵循此規範中描述的宣告。為了與 Java Community Process 的條款保持一致,可以獲得一個相容性測試工具套件(Test Compatibility Kit,TCK)的許可,以確保與規範保持相容性。以下各段概觀了一些實作標準 JDBC RowSet
定義的入門知識。實作者還應參考 javax.sql.rowset.spi 套件中的實作者指南,以獲得有關 SyncProvider
實作的指南。
BaseRowSet
類別的職責
相容的 JDBC RowSet
實作必須實作此套件中指定的一個或多個標準介面,並且可以擴展 BaseRowSet
抽象類別。例如,CachedRowSet
實作必須實作 CachedRowSet
介面並擴展 BaseRowSet
抽象類別。BaseRowSet
類別提供用於建構所有 RowSet
實作的標準架構,無論是存在於連接環境還是非連接環境中的 RowSet
物件。BaseRowSet 抽象類別為所有 RowSet 實作提供其基本功能,包括與 JavaBeans 元件要求完全相容的屬性操縱和事件通知。例如,參考實作中提供的所有實作(包含在 com.sun.rowset 套件中)都使用 BaseRowSet 作為其實作的基礎。
下表展示了 BaseRowSet
抽象類別提供的功能。
功能
詳細資訊
屬性
提供標準的 JavaBeans 屬性操縱機制,允許應用程序獲得和設置 RowSet
的命令和屬性值。有關標準RowSet
屬性的更多資訊,請參閱 javax.sql.RowSet 介面的文檔(JDBC 3.0 規範中提供)。
事件通知
向已註冊事件偵聽器提供標準的 JavaBeans 事件通知。有關如何註冊和處理由相容實作所產生的標準 RowSet 事件的更多資訊,請參閱 javax.sql.RowSetEvent 介面的文檔(JDBC 3.0 規範中提供)。
用於 RowSet 物件命令的 Setter
為設置 RowSet 命令參數提供完整的設置方法集。
串流
除了為串流型別標記提供常數集外,還為串流實例的存儲提供了各種欄位。
JdbcRowSet
描述一種必須始終連接到原始資料源的 RowSet
物件。JdbcRowSet
的實作應該確保此連接是由 JDBC 驅動程序唯一提供的。此外,作為 JdbcRowSet
介面的實作並因此在連接環境中運行的 RowSet
物件不使用 SyncFactory
來獲取 RowSetReader
物件或 RowSetWriter
物件。由於存在可更新和可滾動的底層 ResultSet
實作,所以它們可以安全地依靠 JDBC 驅動程序來滿足其需求。
非連接 RowSet
物件(如 CachedRowSet
物件)應該將連接管理委託給 SyncFactory
所提供的 SyncProvider
物件。要確保完全的非連接語義,所有非連接 RowSet
物件必須確保已關閉填充 RowSet
物件時所建立的與資料源的原始連接,以便垃圾回收器能夠恢復和釋放資源。SyncProvider
物件確保可維護關鍵的 JDBC 屬性,從而在需要進行同步時可重新建立到資料源的連接。因此,非連接 RowSet
物件應該確保在 Connection
物件上沒有保留任何其他參考。
RowsetMetaDataImpl
類別是一個提供 RowSetMetaData 介面實作的實用工具類別,它同時為連接和非連接 RowSet
物件的元資料提供標準的設置方法實作。所有實作都可隨意使用此標準實作,但是並不要求必須如此。
RowSetWarning
類別提供了可在 RowSet
實作上設置的警告。與 SQLWarning 物件類似,RowSetWarning
物件正常連接到其方法會導致拋出警告的那些物件。所有 RowSet
實作應該確保如果產生了警告,則會發生此連接操作,還要確保通過 JdbcRowSet
介面或 CachedRowSet
介面中定義的 getRowSetWarnings
方法可以獲得這些警告。使用某個 getRowSetWarnings
方法獲取警告後,可在 RowSetWarning
上調用其方法 getNextWarning
來獲取所有可能連接到它的警告。如果返回了某個警告,則可以在其上調用 getNextWarning
並一直調用下去,直到再沒有其他警告為止。
Joinable
介面同時為連接和非連接 RowSet
物件提供要在 SQL JOIN
操作中添加到 JoinRowSet
物件的功能。已經實作了 Joinable
介面的 RowSet
物件可以設置比對列、獲取比對列或取消設置比對列。然後 JoinRowSet
物件可以使用 RowSet
物件的比對列作為添加 RowSet
物件的基礎。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個軟體套件 下一個軟體套件 | 框架 無框架 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。