public interface SQLData
Usually within an implementation of SQLData, there is a corresponding
field for every attribute of an SQL type, but only one field, if the type is
SQL DISTINCT. When the UDT is returned within a ResultSet, it
is accessed with the ResultSet.getObject(int) method and is returned as an
object which is an instance of the class defined by the SQLData
mapping. The application can use this object just like any other Java object
and can store changes back into the database using the
PreparedStatement.setObject(int, java.lang.Object) method which performs the reverse mapping
into the SQL UDT.
Normally the implementation of a custom mapping is generated by
a tool requiring the name of the SQL UDT, the name
of the class which it is going to be mapped to, and the field names to which
the UDT attributes are mapped. The tool can then implement the SQLData, readSQL, and writeSQL methods. readSQL reads
attributes from an SQLInput object, and writeSQL writes them.
This is done via SQLInput and SQLOutput method calls
respectively.
Ordinarily an application would not call SQLData methods directly.
Similarly SQLInput and SQLOutput methods are not usually
called directly.
| Modifier and Type | Method and Description |
|---|---|
String |
getSQLTypeName()
Gets the SQL name of the User Defined Type (UDT) that this object
represents.
|
void |
readSQL(SQLInput stream,
String typeName)
Reads data from the database into this object.
|
void |
writeSQL(SQLOutput stream)
Writes the object to a supplied
SQLOutput data stream, writing it
out as an SQL value to the data source. |
String getSQLTypeName() throws SQLException
SQLData object.readSQL when the object was created.SQLException - if a database error occurs.void readSQL(SQLInput stream, String typeName) throws SQLException
SQLInput.readString, SQLInputreadBigDecimal). If the type is
distinct, then read its only data entry. For structured types, read every
entry.
The supplied input stream is typically initialized by the calling JDBC
driver with the type map before readSQL is called.
stream - the SQLInput stream from which the type map data is
read for the custom mapping.typeName - the SQL type name for the type which is being mapped.SQLException - if a database error occurs.SQLInputvoid writeSQL(SQLOutput stream) throws SQLException
SQLOutput data stream, writing it
out as an SQL value to the data source.
This method follows the following steps:
SQLOutput methods (e.g. writeInt, writeString).
Write a single data element for a distinct type. For a structured type,
write a value for each attribute of the the SQL type.stream - the SQLOutput stream to use to write out the data for
the custom mapping.SQLException - if a database error occurs.SQLOutput