Package 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 Schema, опубликованная по адресуhttp://xmlns.jcp.org/xml/ns//jdbc/webrowset.xsd. -
FilteredRowSet— объектFilteredRowSetпредоставляет функциональность фильтрации программным и расширяемым способом. Во многих случаяхRowSetobjectтребуется фильтровать содержимое, не отказываясь от отключённого режима работы и тем самым избегая затрат на установление соединения с источником данных. Решения этой задачи варьируются от предоставления полнофункциональных возможностей запросов SQL до переносимых компонентов и более лёгких подходов. ОбъектFilteredRowSetиспользует реализацию интерфейсаPredicate, которая может определять фильтр во время выполнения. В свою очередь, объектFilteredRowSetотвечает за применение установленного фильтра как к входящим, так и к исходящим операциям чтения и записи. Иными словами, все фильтры можно считать двунаправленными. Стандартные фильтры не определены, однако спецификация предусматривает достаточный набор механизмов для реализации любого необходимого фильтра. -
JoinRowSet— интерфейсJoinRowSetописывает механизм установления связей между двумя или более стандартными реализациямиRowSet. В объектJoinRowSetможно добавлять любое количество объектовRowSetпри условии, что объекты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 Связанная документация
- Начиная с:
- 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://docs.oracle.com/en/java/javase/25/docs/api/java.sql.rowset/javax/sql/rowset/package-summary.html