Пакет 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может быть компонентом, который любой инструмент предоставляет для сборки приложения как части архитектуры на основе компонентов. Объект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могут быть связаны по аналогии с SQL-JOIN. По определению, SQL-JOINоператор используется для объединения данных, содержащихся в двух (или более) таблицах реляционной базы данных на основе общего атрибута. Устанавливая и затем применяя соответствия столбцов, объект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 Связанная документация
- Since:
- 1.5
| Класс | Описание |
|---|---|
| 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, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.sql.rowset/javax/sql/rowset/package-summary.html