Пакет javax.sql.rowset
RowSet реализаций. Этот пакет содержит интерфейсы и классы, которые стандартная RowSet реализация либо реализует, либо расширяет. Содержание
- 1.0 Спецификация пакета
- 2.0 Стандартные определения RowSet
- 3.0 Руководство для разработчиков реализаций
- 4.0 Связанные спецификации
- 5.0 Связанная документация
1.0 Спецификация пакета
В этом пакете определены пять стандартных JDBCRowSet интерфейсов. Все пять расширяют интерфейс RowSet, описанный в спецификации JDBC 3.0. Ожидается, что по мере развития этой технологии появятся дополнительные определения более специализированных типов JDBC RowSet . Будущие определения должны быть определены как подинтерфейсы с использованием наследования, аналогично тому, как это используется в этой спецификации. Примечание: Определения интерфейсов, представленные в этом пакете, являются основой для всех совместимых JDBC RowSet реализаций. Поставщики и более продвинутые разработчики, которые намерены предоставить свои собственные совместимые RowSet реализации, должны уделить особое внимание утверждениям, подробно описанным в интерфейсах спецификации.
2.0 Стандартные определения RowSet
-
JdbcRowSet- Обёртка вокруг объектаResultSet, которая позволяет использовать результат как компонент JavaBeans. Таким образом, объектJdbcRowSetможет быть компонентом Bean, который любой инструмент может предоставить для сборки приложения в рамках архитектуры на основе компонентов. ОбъектJdbcRowSetявляется подключённым объектомRowSet, то есть он обязан постоянно поддерживать подключение к источнику данных с использованием драйвера JDBC ("драйвер JDBC"). Кроме того, объектJdbcRowSetпредоставляет полностью обновляемую и прокручиваемую табличную структуру данных, как определено в спецификации JDBC 3.0. -
CachedRowSet- ОбъектCachedRowSetявляется компонентом JavaBeans, который является прокручиваемым, обновляемым, сериализуемым и в общем случае отключённым от источника данных. ОбъектCachedRowSetобычно содержит строки из набора результатов, но он также может содержать строки из любого файла с табличной структурой, например, из электронных таблиц.CachedRowSetреализации должны использоватьSyncFactoryдля управления и получения подключаемыхSyncProviderобъектов, обеспечивающих синхронизацию между отключённым объектомRowSetи исходным источником данных. Как правило,SyncProviderреализация полагается на драйвер JDBC для получения подключения к конкретному источнику данных. Более подробные сведения об этом механизме приведены в спецификации пакетаjavax.sql.rowset.spi. -
WebRowSet- ОбъектWebRowSetявляется расширением объектаCachedRowSet, который может читать и записывать объектRowSetв формате XML. Этот класс вызывает объектXmlReader(расширение интерфейсаRowSetReader), чтобы прочитать набор строк в формате XML. Он вызывает объектXmlWriter(расширение интерфейсаRowSetWriter), чтобы записать набор строк в формате XML. Читатели и писатели, необходимые для объектовWebRowSet, предоставляютсяSyncFactoryв виде реализацийSyncProvider. Для обеспечения использования хорошо сформированного XML определена и опубликована стандартная общая схема XML по адресуhttp://xmlns.jcp.org/xml/ns//jdbc/webrowset.xsd. -
FilteredRowSet- ОбъектFilteredRowSetпредоставляет функциональность фильтрации программным и расширяемым способом. Встречаются ситуации, когдаRowSetobjectнеобходимо предоставить фильтрацию в своих содержимом, не жертвуя отключенной средой, тем самым экономя расходы на создание подключения к источнику данных. Решения этой проблемы варьируются от предоставления мощных полномасштабных возможностей SQL-запросов до переносимых компонентов и более лёгких подходов. ОбъектFilteredRowSetиспользует реализацию интерфейсаPredicate, которая может определить фильтр во время выполнения. В свою очередь, объектFilteredRowSetотвечает за применение набора фильтров для операций чтения и записи как входных, так и выходных данных. То есть все фильтры можно рассматривать как двусторонние. Стандартные фильтры не определены; однако, указаны достаточные механизмы, позволяющие реализовать любой необходимый фильтр. -
JoinRowSet- ИнтерфейсJoinRowSetописывает механизм, с помощью которого могут быть установлены отношения между двумя или более стандартными реализациямиRowSet. Любое количество объектовRowSetможно добавить в объектJoinRowSetпри условии, что объектыRowSetмогут быть связаны в стиле SQLJOIN. По определению, оператор SQLJOINиспользуется для объединения данных, содержащихся в двух (или более) таблицах реляционной базы данных на основе общего атрибута. Устанавливая и затем применяя соответствия столбцов, объектJoinRowSetустанавливает отношения между экземплярамиRowSetбез необходимости взаимодействия с исходным источником данных.
3.0 Руководство для разработчиков реализаций
Соответствующие реализации JDBCRowSet должны следовать утверждениям, описанным в этой спецификации. В соответствии с условиями Java Community Process, можно получить лицензию на комплект тестирования совместимости (TCK) для проверки совместимости со спецификацией. Следующие абзацы описывают ряд начальных точек для разработчиков реализаций стандартных определений JDBC RowSet . Разработчики реализаций также должны обратиться к Руководству разработчика реализаций в пакете javax.sql.rowset.spi для получения рекомендаций по реализации SyncProvider. -
3.1 Конструктор
Все
RowSetреализации должны предоставлять конструктор без аргументов. -
3.2 Роль класса
BaseRowSetСоответствующая реализации JDBC
RowSetдолжна реализовывать один или несколько стандартных интерфейсов, указанных в этом пакете, и может расширять абстрактный классBaseRowSet. Например, реализацияCachedRowSetдолжна реализовывать интерфейсCachedRowSetи расширять абстрактный классBaseRowSet. КлассBaseRowSetпредоставляет стандартную архитектуру, на которой должны строиться все реализацииRowSet, независимо от того, существуют ли объектыRowSetв подключённой или отключённой среде. Абстрактный классBaseRowSetпредоставляет любой реализацииRowSetсвою базу функциональности, включая управление свойствами и уведомления об событиях, полностью соответствующие требованиям компонентов JavaBeans. В качестве примера, все реализации, представленные в эталонных реализациях (содержащихся в пакетеcom.sun.rowset), используют классBaseRowSetв качестве основы для своих реализаций.Следующая таблица иллюстрирует функции, которые предоставляет абстрактный класс
BaseRowSet.Функции в BaseRowSetФункция Подробности Свойства Предоставляет стандартные механизмы управления свойствами JavaBeans, чтобы приложения могли получать и устанавливать значения команд и свойств RowSet. Дополнительную информацию о стандартных свойствахRowSetсм. в документации интерфейсаjavax.sql.RowSet(доступной в спецификации JDBC 3.0).Уведомления об событиях Предоставляет стандартные уведомления об событиях JavaBeans для зарегистрированных слушателей событий. Дополнительную информацию о том, как регистрировать и обрабатывать стандартные события RowSet, генерируемые соответствующими реализациями, см. в документации интерфейса javax.sql.RowSetEvent(доступной в спецификации JDBC 3.0).Установщики для команды объекта RowSet Предоставляет полный набор методов-установщиков для задания параметров команды RowSet. Потоки Предоставляет поля для хранения экземпляров потоков, а также набор констант для обозначения типа потока. -
3.3 Требования к подключенному RowSet
JdbcRowSetописывает объектRowSet, который должен всегда быть подключён к исходному источнику данных. РеализацииJdbcRowSetдолжны гарантировать, что это подключение предоставляется исключительно драйвером JDBC. Кроме того, объектыRowSet, которые являются реализациями интерфейсаJdbcRowSetи, следовательно, работают в подключённой среде, не используютSyncFactoryдля получения объектаRowSetReaderили объектаRowSetWriter. Они могут безопасно полагаться на драйвер JDBC для обеспечения своих потребностей благодаря наличию базовой реализацийResultSetдля обновления и прокрутки. - 3.4 Требования к отключенному RowSet
Объект отключённого
RowSetобъекта, такого какCachedRowSetобъект, должен делегировать управление подключением объектуSyncProvider, предоставляемомуSyncFactory. Для обеспечения полной отключённой семантики все отключенные объектыRowSetдолжны гарантировать, что исходное подключение к источнику данных для заполнения объектаRowSetзакрыто, чтобы позволить сборщику мусора восстановить и освободить ресурсы. ОбъектSyncProviderгарантирует, что критически важные свойства JDBC сохраняются для повторного установления подключения к источнику данных, когда требуется синхронизация. Отключенный объектRowSetдолжен, следовательно, гарантировать, что на объектеConnectionне остаётся лишних ссылок. -
3.5 Роль RowSetMetaDataImpl
Класс
RowsetMetaDataImpl— это служебный класс, который предоставляет реализацию интерфейса RowSetMetaData, предоставляя стандартные реализации методов установщиков метаданных для подключённых и отключённых объектовRowSet. Все реализации могут свободно использовать эту стандартную реализацию, но не обязаны это делать. -
3.6 Класс RowSetWarning
Класс
RowSetWarningпредоставляет предупреждения, которые можно задать для реализацийRowSet. Подобно объектам SQLWarning, объектыRowSetWarningмолча цепляются к объекту, метод которого вызвал выброс предупреждения. Все реализацииRowSetдолжны обеспечить, чтобы эта цепочка произошла, если генерируется предупреждение, а также обеспечить доступность предупреждений через методgetRowSetWarnings, определённый в интерфейсеJdbcRowSetили интерфейсеCachedRowSet. После того, как предупреждение было получено с помощью одного из методовgetRowSetWarnings, можно вызвать методRowSetWarninggetNextWarningна нём, чтобы получить любые предупреждения, которые могут быть прикреплены к нему. Если возвращается предупреждение, можно вызватьgetNextWarningи так далее, пока не закончатся предупреждения. -
3.7 Интерфейс Joinable
Интерфейс
Joinableпредоставляет как подключённым, так и отключённым объектамRowSetвозможность добавления в объектJoinRowSetв операции SQLJOIN. ОбъектRowSet, реализовавший интерфейсJoinable, может задать столбец совпадения, получить столбец совпадения или сбросить столбец совпадения. ОбъектJoinRowSetможет затем использовать столбец совпадения объектаRowSetв качестве основы для добавления объектаRowSet. -
3.8 Интерфейс RowSetFactory
Реализация
RowSetFactoryдолжна быть предоставлена.
4.0 Связанные спецификации
5.0 Связанная документация
| Класс | Описание |
|---|---|
| BaseRowSet | Абстрактный класс, предоставляющий объекту RowSet свою базу функциональности. |
| CachedRowSet | Интерфейс, который должны реализовывать все стандартные реализации CachedRowSet. |
| FilteredRowSet | Стандартный интерфейс, который должны реализовывать все стандартные реализации FilteredRowSet. |
| JdbcRowSet | Стандартный интерфейс, который должны реализовывать все стандартные реализации JdbcRowSet. |
| Joinable | 1.0 Предыстория |
| JoinRowSet | Интерфейс JoinRowSet предоставляет механизм для объединения связанных данных из разных объектов RowSet в один объект JoinRowSet, представляющий операцию SQL JOIN. |
| Predicate | Стандартный интерфейс, который предоставляет основу для всех объектов FilteredRowSet для описания их фильтров. |
| RowSetFactory | Интерфейс, определяющий реализацию фабрики, используемой для получения различных типов реализаций RowSet. |
| RowSetMetaDataImpl | Предоставляет реализации методов для установки и получения метаинформации о столбцах объекта RowSet. |
| RowSetProvider | API фабрики, позволяющий приложениям получить реализацию RowSetFactory , которая может использоваться для создания различных типов реализаций RowSet. |
| RowSetWarning | Расширение SQLException, предоставляющее информацию о предупреждениях базы данных, заданных для объектов RowSet. |
| WebRowSet | Стандартный интерфейс, который должны реализовывать все реализации WebRowSet. |
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.sql.rowset/javax/sql/rowset/package-summary.html