Пакет javax.sql.rowset
Стандартные интерфейсы и базовые классы для JDBC 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://java.sun.com/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.Функция Подробности Свойства Предоставляет стандартные механизмы управления свойствами JavaBeans для того, чтобы приложения могли получать и устанавливать значения команд и свойств RowSet. Обратитесь к документации интерфейсаjavax.sql.RowSet(доступной в спецификации JDBC 3.0) для получения более подробной информации о стандартных свойствахRowSet.Уведомления о событиях Предоставляет стандартные уведомления о событиях JavaBeans зарегистрированным обработчикам событий. Обратитесь к документации интерфейса javax.sql.RowSetEvent(доступной в спецификации JDBC 3.0) для получения более подробной информации о том, как регистрировать и обрабатывать стандартные события RowSet, генерируемые соответствующими реализациями.Установщики для команды объекта 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 Связанная документация
| Интерфейс | Описание |
|---|---|
| CachedRowSet | Интерфейс, который все стандартные реализации |
| FilteredRowSet | Стандартный интерфейс, который все стандартные реализации |
| JdbcRowSet | Стандартный интерфейс, который все стандартные реализации |
| Joinable | 1.0 Общие сведения |
| JoinRowSet | Интерфейс |
| Predicate | Стандартный интерфейс, который предоставляет основу для всех объектов |
| RowSetFactory | Интерфейс, определяющий реализацию фабрики, которая используется для получения различных типов реализаций |
| WebRowSet | Стандартный интерфейс, который все реализации |
| Класс | Описание |
|---|---|
| BaseRowSet | Абстрактный класс, предоставляющий объекту |
| RowSetMetaDataImpl | Предоставляет реализации для методов установки и получения метаинформации о столбцах объекта |
| RowSetProvider | API фабрики, которая позволяет приложениям получать реализацию |
| Исключение | Описание |
|---|---|
| RowSetWarning | Расширение |
© 1993, 2020, 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/11/docs/api/java.sql.rowset/javax/sql/rowset/package-summary.html