See: Description
Class | Description |
---|---|
SerialArray |
A serialized version of an
Array
object, which is the mapping in the Java programming language of an SQL
ARRAY value. |
SerialBlob |
A serialized mapping in the Java programming language of an SQL
BLOB value. |
SerialClob |
A serialized mapping in the Java programming language of an SQL
CLOB value. |
SerialDatalink |
A serialized mapping in the Java programming language of an SQL
DATALINK value. |
SerialJavaObject |
A serializable mapping in the Java programming language of an SQL
JAVA_OBJECT value. |
SerialRef |
A serialized mapping of a
Ref object, which is the mapping in the
Java programming language of an SQL REF value. |
SerialStruct |
A serialized mapping in the Java programming language of an SQL
structured type.
|
SQLInputImpl |
An input stream used for custom mapping user-defined types (UDTs).
|
SQLOutputImpl |
The output stream for writing the attributes of a
custom-mapped user-defined type (UDT) back to the database.
|
Exception | Description |
---|---|
SerialException |
Indicates and an error with the serialization or de-serialization of
SQL types such as
BLOB, CLOB, STRUCT or ARRAY in
addition to SQL types such as DATALINK and JAVAOBJECT |
Standard JDBC RowSet
implementations may use these utility
classes to
assist in the serialization of disconnected RowSet
objects.
This is useful
when transmitting a disconnected RowSet object over the wire to
a different VM or across layers within an application.
RowSet
implementations can use the method RowSet.getURL() to retrieve
a java.net.URL
object, which can be used to manipulate the external data.
Map
object is passed to one of the constructors or
to the method getAttributes
, the structured type is custom mapped
according to the mapping specified in the Map
object.
wasNull
is used to determine whether the the last value read was SQL NULL.
Map
object is called,
the JDBC driver calls the method
SQLData.getSQLType to determine the SQL type of the UDT being custom
mapped. The driver creates an instance of SQLInputImpl
, populating it with
the attributes of the UDT. The driver then passes the input stream to the
method SQLData.readSQL, which in turn calls the SQLInputImpl
methods to read the attributes from the input stream. SQLOutputImpl
and pass it to the method
SQLData.writeSQL.
The method writeSQL
in turn calls the appropriate SQLOutputImpl
writer methods to write data from the SQLData
object to the
SQLOutputImpl
output stream as the representation of an SQL user-defined type.
A programmer defines the mapping by implementing the interface SQLData
.
For example, if an SQL structured type named AUTHORS has the attributes NAME,
TITLE, and PUBLISHER, it could be mapped to a Java class named Authors. The
Authors class could have the fields name, title, and publisher, to which the
attributes of AUTHORS are mapped. In such a case, the implementation of
SQLData
could look like the following:
public class Authors implements SQLData { public String name; public String title; public String publisher; private String sql_type; public String getSQLTypeName() { return sql_type; } public void readSQL(SQLInput stream, String type) throws SQLException { sql_type = type; name = stream.readString(); title = stream.readString(); publisher = stream.readString(); } public void writeSQL(SQLOutput stream) throws SQLException { stream.writeString(name); stream.writeString(title); stream.writeString(publisher); } }A
java.util.Map
object is used to associate the SQL structured
type with its mapping to the class Authors
. The following code fragment shows
how a Map
object might be created and given an entry associating
AUTHORS
and Authors
.
java.util.Map map = new java.util.HashMap(); map.put("SCHEMA_NAME.AUTHORS", Class.forName("Authors");The
Map
object map now contains an entry with the
fully qualified name of the SQL structured type and the Class
object for the class Authors
. It can be passed to a method
to tell the driver how to map AUTHORS
to Authors
.
For a disconnected RowSet
object, custom mapping can be done
only when a Map
object is passed to the method or constructor
that will be doing the custom mapping. The situation is different for
connected RowSet
objects because they maintain a connection
with the data source. A method that does custom mapping and is called by
a disconnected RowSet
object may use the Map
object that is associated with the Connection
object being
used. So, in other words, if no map is specified, the connection's type
map can be used by default.
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, 2011, Oracle and/or its affiliates. All rights reserved.
DRAFT ea-b138