|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
public interface SQLData
該介面用於 SQL 使用者定義型別 (UDT) 到 Java 程式語言中類別的自定義映射關係。實作 SQLData
介面的類別的類別物件將以適當的 Connection
物件型別映射連同 UDT(此物件是它的自定義映射關係)的 SQL 名稱一起進行輸入。
通常,SQLData
實作將為 SQL 結構型別的每個屬性定義一個欄位,或者為 SQL DISTINCT
型別定義單個欄位。用 ResultSet.getObject
方法從資料源獲取 UDT 時,會將其映射為此類別的實例。開發人員可以像對待 Java 程式語言中的其他物件那樣在此類別實例上執行操作,然後通過調用 PreparedStatement.setObject
方法(此方法將其映射回 SQL 型別)存儲對它所作的更改。
預期自定義映射關係的類別的實作可以通過工具完成。在典型的實作中,開發人員將僅提供 SQL UDT 的名稱、要將該名稱映射到的類別的名稱和要將 UDT 的每個屬性映射到的欄位名稱。工具將使用此資訊實作 SQLData.readSQL
和 SQLData.writeSQL
方法。readSQL
方法調用適當的 SQLInput
方法從 SQLInput
物件讀取每個屬性,writeSQL
方法調用 SQLOutput
方法通過 SQLOutput
物件將每個屬性寫回資料源。
應用開發人員通常不直接調用 SQLData
方法,而 SQLInput
和 SQLOutput
方法由 SQLData
方法而不是應用程序程式碼在內部調用。
方法摘要 | |
---|---|
String |
getSQLTypeName()
返回此物件表示的 SQL 使用者定義型別的完全限定名。 |
void |
readSQL(SQLInput stream,
String typeName)
用從資料庫讀取的資料填充此物件。 |
void |
writeSQL(SQLOutput stream)
將此物件寫入給定的 SQL 資料串流,同時將其轉換回資料源中它的 SQL 值。 |
方法詳細資訊 |
---|
String getSQLTypeName() throws SQLException
SQLData
的這一實例。
readSQL
的型別名稱
SQLException
- 如果發生資料庫存取錯誤
SQLFeatureNotSupportedException
- 如果 JDBC 不支持此方法void readSQL(SQLInput stream, String typeName) throws SQLException
readSQL
方法將資料分派給(此物件或其他物件的)適當欄位或元素。明確地說,它必須調用適當的 reader 方法(SQLInput.readString
、SQLInput.readBigDecimal
等)來執行以下操作:對於不同型別,讀取其單個資料元素;對於結構型別,讀取 SQL 型別的每個屬性的值。
SQLInput
reader 方法使用。
stream
- SQLInput
物件,從中讀取要自定義映射的值的資料typeName
- 資料串流上的值的 SQL 型別名稱
SQLException
- 如果發生資料庫存取錯誤
SQLFeatureNotSupportedException
- 如果 JDBC 不支持此方法SQLInput
void writeSQL(SQLOutput stream) throws SQLException
SQLOutput
writer 方法(writeInt
、writeString
等)來執行以下操作:對於不同型別,寫入其單個資料元素;對於結構型別,寫入 SQL 型別的每個屬性的值。
stream
- SQLOutput
物件,要在其中寫入自定義映射的值的資料
SQLException
- 如果發生資料庫存取錯誤
SQLFeatureNotSupportedException
- 如果 JDBC 不支持此方法SQLOutput
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。