Пакет 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можно вызвать методgetNextWarningна нём, чтобы получить любые предупреждения, которые могут быть присоединены к нему. Если возвращается предупреждение, можно вызвать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, 2023, 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/21/docs/api/java.sql.rowset/javax/sql/rowset/package-summary.html