Spec-Zone .ru
спецификации, руководства, описания, API
 Платформа Java™
Стандарт Эд. 7

Пакет javax.sql.rowset.serial

Обеспечивает служебные классы, чтобы позволить сериализуемые отображения между типами SQL и типами данных в языке программирования Java.

См.: Описание

Пакет javax.sql.rowset.serial Описание

Обеспечивает служебные классы, чтобы позволить сериализуемые отображения между типами SQL и типами данных в языке программирования Java.

Стандартный JDBC RowSet реализации могут использовать эти служебные классы, чтобы помочь в сериализации разъединенных RowSet объекты. Это полезно, передавая разъединенный объект RowSet по проводу к различному VM или через уровни в пределах приложения.

1.0 SerialArray

Сериализуемое отображение в языке программирования Java SQL ВЫСТРАИВАЕТ значение.

Класс SerialArray предоставляет конструктору для того, чтобы он создал экземпляр SerialArray из объекта Массива, методов для того, чтобы получить базовый тип и имя SQL для базового типа, и методы для того, чтобы скопировать все или часть объекта SerialArray .

2.0 SerialBlob

Сериализуемое отображение в языке программирования Java значения BLOB SQL.

Класс SerialBlob предоставляет конструктору для того, чтобы он создал экземпляр из объекта Блоба. Отметьте, что объект Блоба должен был принести данные значения BLOB SQL клиенту прежде, чем объект SerialBlob будет создан из этого. Данные значения BLOB SQL могут быть осуществлены на клиенте как массив байтов (использующий метод Blob.getBytes) или как поток неинтерпретируемых байтов (использующий метод Blob.getBinaryStream).

Методы SerialBlob позволяют сделать копию объекта SerialBlob как массив байтов или как поток. Они также позволяют определить местоположение данного образца байтов или объекта Blob в пределах объекта SerialBlob .

3.0 SerialClob

Сериализуемое отображение в языке программирования Java SQL значение CLOB.

Класс SerialClob предоставляет конструктору для того, чтобы он создал экземпляр из объекта Clob . Отметьте, что объект Clob должен был принести SQL данные значения CLOB клиенту прежде, чем объект SerialClob будет создан из этого. Данные SQL значение CLOB могут быть осуществлены на клиенте как поток символов Unicode.

Методы SerialClob позволяют получить подстроку от объекта SerialClob или определить местоположение запуска образца символов.

5.0 SerialDatalink

Сериализуемое отображение в языке программирования Java значения КАНАЛА ПЕРЕДАЧИ ДАННЫХ SQL. Значение КАНАЛА ПЕРЕДАЧИ ДАННЫХ ссылается на файл за пределами базового источника данных, которым управляет инициирующий источник данных.

RowSet реализации могут использовать метод RowSet.getURL() , чтобы получить a java.net.URL объект, который может использоваться, чтобы управлять внешними данными.

     java.net.URL url = rowset.getURL(1);

6.0 SerialJavaObject

Сериализуемое отображение в языке программирования Java SQL значение JAVA_OBJECT. Принятие экземпляра объекта Java реализует Сериализуемый интерфейс, это просто обертывает процесс сериализации.

Если однако, сериализация не будет возможна в случае, где объект Java не сразу сериализуем, то этот класс попытается сериализировать все не статические элементы, чтобы разрешить объектному состоянию экземпляра быть сериализированным. Статические или переходные поля не могут быть сериализированы, и пытающийся сделать так приведет к бросаемому SerialException .

7.0 SerialRef

Сериализуемое отображение между SQL КАСАТЕЛЬНО типа и языком программирования Java.

Класс SerialRef обеспечивает, конструктор для того, чтобы создать экземпляр SerialRef из Ref вводят, и обеспечивает методы для получения и установки типа объекта Ref.

8.0 SerialStruct

Сериализуемое отображение в языке программирования Java SQL структурированный тип. Каждый атрибут, который не уже сериализуем, отображается на сериализуемую форму, и если атрибут является самостоятельно структурированным типом, каждый из его атрибутов, который не уже сериализуем, отображается на сериализуемую форму.

Кроме того, если a Map объект передают одному из конструкторов или к методу getAttributes, структурированный тип пользовательский отображенный согласно отображению, определенному в Map объект.
Класс SerialStruct предоставляет конструктору для того, чтобы он создал экземпляр из объекта Struct, метод для того, чтобы получить имя типа SQL структурированного SQL вводят базу данных, и методы для того, чтобы получить ее значения атрибута.

9.0 SQLInputImpl

Входной поток, используемый для пользовательских отображающихся определяемых пользователем типов (UDTs). Объект SQLInputImpl является входным потоком, который содержит поток значений, которые являются атрибутами UDT. Этот класс используется драйвером негласно, когда метод getObject вызывают на SQL структурированным или отличным типом, у которого есть пользовательское отображение; программист никогда не вызывает методы SQLInputImpl непосредственно.

Класс SQLInputImpl обеспечивает ряд методов читателя, аналогичных методам метода get ResultSet. Эти методы позволяют считать значения в объекте SQLInputImpl. Метод wasNull используется, чтобы определить, был ли последним чтением значения НУЛЬ SQL.

Когда метод конструктора или метода get, который берет a Map объект вызывают, драйвер JDBC вызывает метод SQLData.getSQLType, чтобы определить тип SQL UDT быть пользовательским отображенный. Драйвер создает экземпляр SQLInputImpl, заполнение этого с атрибутами UDT. Драйвер тогда передает входной поток к методу SQLData.readSQL, который поочередно вызывает методы SQLInputImpl, чтобы считать атрибуты из входного потока.

10.0 SQLOutputImpl

Поток вывода для того, чтобы записать атрибуты пользовательского отображенного определяемого пользователем типа (UDT) назад к базе данных. Драйвер использует этот интерфейс внутренне, и его методы непосредственно никогда не вызываются прикладным программистом.

Когда приложение вызывает метод PreparedStatement.setObject, проверки драйвера, чтобы видеть, является ли значение, которое будет записано, UDT с пользовательским отображением. Если это, будет запись в карте типа, содержащей объект Класса для класса, который реализует SQLData для этого UDT. Если значение, которое будет записано, будет экземпляром SQLData, то драйвер создаст экземпляр SQLOutputImpl и передайте это к методу SQLData.writeSQL. Метод writeSQL поочередно вызывает соответствующие методы писателя SQLOutputImpl, чтобы записать данные из SQLData возразите против SQLOutputImpl поток вывода как представление SQL определяемый пользователем тип.

Пользовательское Отображение

API JDBC обеспечивает механизмы для того, чтобы они отобразили SQL структурированный тип или ОТЛИЧНЫЙ тип к языку программирования Java. Как правило, структурированный тип отображается на класс, и его атрибуты отображаются на поля в классе. (ОТЛИЧНЫЙ тип может мысль как наличие одного атрибута.) Однако, есть много других возможностей, и может быть любое число различных отображений.

Программист определяет отображение, реализовывая интерфейс SQLData. Например, если SQL, у структурированного типа под названием АВТОРЫ есть ИМЯ атрибутов, ЗАГОЛОВОК, и ИЗДАТЕЛЬ, это могло быть отображено на класс Java под названием Авторы. У класса Авторов могли быть полевое имя, заголовок, и издатель, на которого отображаются атрибуты АВТОРОВ. В таком случае, реализации SQLData мог быть похожим на следующее:

   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 объект используется, чтобы связать SQL структурированный тип с его отображением на класс Authors. Следующий фрагмент кода показывает как a Map объект мог бы быть создан и дан соединение записи AUTHORS и Authors.
    java.util.Map map = new java.util.HashMap();
    map.put("SCHEMA_NAME.AUTHORS", Class.forName("Authors");
Map возразите, что карта теперь содержит запись с полностью определенным именем SQL структурированный тип и Class объект для класса Authors. Это можно передать к методу, чтобы сказать драйвер, как отобразиться AUTHORS к Authors.

Для разъединенного RowSet объект, пользовательское отображение может быть сделано только когда a Map объект передают к методу или конструктору, который будет делать пользовательское отображение. Ситуация отличается для соединенного RowSet объекты, потому что они поддерживают соединение с источником данных. Метод, который делает пользовательское отображение и вызывается разъединенным RowSet объект может использовать Map объект, который связывается с Connection используемый объект. Так, другими словами, если никакая карта не определяется, карта типа соединения может использоваться по умолчанию.

 Платформа Java™
Стандарт Эд. 7

Представьте ошибку или функцию
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.