Spec-Zone.ru › OpenJDK 25

Интерфейс JdbcRowSet

Все суперинтерфейсы:
AutoCloseable, Joinable, ResultSet, RowSet, Wrapper
public interface JdbcRowSet extends RowSet, Joinable
Стандартный интерфейс, который должны реализовывать все стандартные реализации JdbcRowSet.

1.0 Обзор

Обёртка вокруг объекта ResultSet, позволяющая использовать результирующий набор в качестве компонента JavaBeans. Таким образом, объект JdbcRowSet может быть одним из компонентов Beans, доступных в инструменте для создания приложения. Поскольку JdbcRowSet — это подключённый набор строк, то есть он постоянно поддерживает соединение с базой данных с помощью драйвера, поддерживающего технологию JDBC, он также фактически превращает драйвер в компонент JavaBeans.

Поскольку он всегда подключён к своей базе данных, экземпляр JdbcRowSet может просто принимать вызовы и, в свою очередь, вызывать их для своего объекта ResultSet. В результате результирующий набор, например, может быть компонентом приложения Swing.

Ещё одно преимущество объекта JdbcRowSet состоит в том, что его можно использовать, чтобы сделать объект ResultSet прокручиваемым и допускающим обновление. Все объекты RowSet по умолчанию являются прокручиваемыми и допускают обновление. Если используемые драйвер и база данных не поддерживают прокрутку и/или обновление результирующих наборов, приложение может заполнить объект JdbcRowSet данными объекта ResultSet, а затем работать с объектом JdbcRowSet так, как если бы это был объект ResultSet.

2.0 Создание объекта JdbcRowSet

Эталонная реализация интерфейса JdbcRowSet, JdbcRowSetImpl, предоставляет реализацию конструктора по умолчанию. Новый экземпляр инициализируется значениями по умолчанию, которые при необходимости можно заменить новыми значениями. Новый экземпляр фактически не работает, пока не будет вызван его метод execute. В общем случае этот метод выполняет следующие действия:
  • устанавливает соединение с базой данных
  • создаёт объект PreparedStatement и задаёт его параметры-заполнители
  • выполняет инструкцию для создания объекта ResultSet
Если метод execute выполнен успешно, он задаёт соответствующие закрытые поля JdbcRowSet следующими значениями:
  • объект Connection — соединение между набором строк и базой данных
  • объект PreparedStatement — запрос, формирующий результирующий набор
  • объект ResultSet — результирующий набор, созданный командой набора строк и фактически превращённый в компонент JavaBeans
Если эти поля не заданы, то есть метод execute не был выполнен успешно, для набора строк можно вызывать только методы execute и close. При вызове всех остальных открытых методов будет выброшено исключение.

Однако перед вызовом метода execute необходимо задать команду и свойства, требуемые для установления соединения. В следующем фрагменте кода создаётся объект JdbcRowSetImpl, задаются команда и свойства соединения, устанавливается параметр-заполнитель, а затем вызывается метод execute.

    JdbcRowSetImpl jrs = new JdbcRowSetImpl();
    jrs.setCommand("SELECT * FROM TITLES WHERE TYPE = ?");
    jrs.setURL("jdbc:myDriver:myAttribute");
    jrs.setUsername("cervantes");
    jrs.setPassword("sancho");
    jrs.setString(1, "BIOGRAPHY");
    jrs.execute();
Переменная jrs теперь представляет экземпляр JdbcRowSetImpl — тонкую обёртку вокруг объекта ResultSet, содержащего все строки таблицы TITLES, в которых тип книги — биография. Теперь операции, вызываемые для jrs, будут влиять на строки результирующего набора, который фактически является компонентом JavaBeans.

Реализация метода RowSet execute в эталонной реализации JdbcRowSet отличается от реализации в эталонной реализации CachedRowSet, чтобы учесть различные требования к подключённым и отключённым объектам RowSet.

Начиная с версии:
1.5

Краткое описание полей

Поля, объявленные в интерфейсе ResultSet

CLOSE_CURSORS_AT_COMMIT, CONCUR_READ_ONLY, CONCUR_UPDATABLE, FETCH_FORWARD, FETCH_REVERSE, FETCH_UNKNOWN, HOLD_CURSORS_OVER_COMMIT, TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE

Краткое описание методов

Модификатор и тип Метод Описание
void commit()
Каждый JdbcRowSet содержит объект Connection из ResultSet или свойства JDBC, переданные его конструкторам.
boolean getAutoCommit()
Каждый JdbcRowSet содержит объект Connection из исходного ResultSet или свойства JDBC, переданные ему.
RowSetWarning getRowSetWarnings()
Получает первое предупреждение, зарегистрированное при вызовах для этого объекта JdbcRowSet.
boolean getShowDeleted()
Получает значение boolean, указывающее, отображаются ли в наборе текущих строк строки, помеченные для удаления.
void rollback()
Каждый JdbcRowSet содержит объект Connection из исходного ResultSet или свойства JDBC, переданные ему.
void rollback(Savepoint s)
Каждый JdbcRowSet содержит объект Connection из исходного ResultSet или свойства JDBC, переданные ему.
void setAutoCommit(boolean autoCommit)
Каждый JdbcRowSet содержит объект Connection из исходного ResultSet или свойства JDBC, переданные ему.
void setShowDeleted(boolean b)
Задаёт свойству showDeleted указанное значение boolean.

Методы, объявленные в интерфейсе Joinable

getMatchColumnIndexes, getMatchColumnNames, setMatchColumn, setMatchColumn, setMatchColumn, setMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn

Методы, объявленные в интерфейсе ResultSet

absolute, afterLast, beforeFirst, cancelRowUpdates, clearWarnings, close, deleteRow, findColumn, first, getArray, getArray, getAsciiStream, getAsciiStream, getBigDecimal, getBigDecimal, getBigDecimal, getBigDecimal, getBinaryStream, getBinaryStream, getBlob, getBlob, getBoolean, getBoolean, getByte, getByte, getBytes, getBytes, getCharacterStream, getCharacterStream, getClob, getClob, getConcurrency, getCursorName, getDate, getDate, getDate, getDate, getDouble, getDouble, getFetchDirection, getFetchSize, getFloat, getFloat, getHoldability, getInt, getInt, getLong, getLong, getMetaData, getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getObject, getObject, getObject, getObject, getObject, getObject, getRef, getRef, getRow, getRowId, getRowId, getShort, getShort, getSQLXML, getSQLXML, getStatement, getString, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getType, getUnicodeStream, getUnicodeStream, getURL, getURL, getWarnings, insertRow, isAfterLast, isBeforeFirst, isClosed, isFirst, isLast, last, moveToCurrentRow, moveToInsertRow, next, previous, refreshRow, relative, rowDeleted, rowInserted, rowUpdated, setFetchDirection, setFetchSize, updateArray, updateArray, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateBigDecimal, updateBigDecimal, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBlob, updateBlob, updateBlob, updateBlob, updateBlob, updateBlob, updateBoolean, updateBoolean, updateByte, updateByte, updateBytes, updateBytes, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateClob, updateClob, updateClob, updateClob, updateClob, updateClob, updateDate, updateDate, updateDouble, updateDouble, updateFloat, updateFloat, updateInt, updateInt, updateLong, updateLong, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNString, updateNString, updateNull, updateNull, updateObject, updateObject, updateObject, updateObject, updateObject, updateObject, updateObject, updateObject, updateRef, updateRef, updateRow, updateRowId, updateRowId, updateShort, updateShort, updateSQLXML, updateSQLXML, updateString, updateString, updateTime, updateTime, updateTimestamp, updateTimestamp, wasNull

Методы, объявленные в интерфейсе RowSet

addRowSetListener, clearParameters, execute, getCommand, getDataSourceName, getEscapeProcessing, getMaxFieldSize, getMaxRows, getPassword, getQueryTimeout, getTransactionIsolation, getTypeMap, getUrl, getUsername, isReadOnly, removeRowSetListener, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBlob, setBlob, setBlob, setBoolean, setBoolean, setByte, setByte, setBytes, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setClob, setClob, setClob, setCommand, setConcurrency, setDataSourceName, setDate, setDate, setDate, setDate, setDouble, setDouble, setEscapeProcessing, setFloat, setFloat, setInt, setInt, setLong, setLong, setMaxFieldSize, setMaxRows, setNCharacterStream, setNCharacterStream, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNClob, setNClob, setNClob, setNString, setNString, setNull, setNull, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setObject, setPassword, setQueryTimeout, setReadOnly, setRef, setRowId, setRowId, setShort, setShort, setSQLXML, setSQLXML, setString, setString, setTime, setTime, setTime, setTime, setTimestamp, setTimestamp, setTimestamp, setTimestamp, setTransactionIsolation, setType, setTypeMap, setUrl, setURL, setUsername

Методы, объявленные в интерфейсе Wrapper

isWrapperFor, unwrap

Подробное описание методов

getShowDeleted

boolean getShowDeleted() throws SQLException
Получает значение boolean, указывающее, отображаются ли в наборе текущих строк строки, помеченные для удаления. Если возвращается true, удалённые строки видны вместе с текущими строками. Если возвращается false, строки не отображаются в наборе текущих строк. Значение по умолчанию — false.

Стандартные реализации наборов строк могут ограничивать это поведение по соображениям безопасности или для определённых сценариев развёртывания. Видимость удалённых строк определяется реализацией и не является стандартным поведением.

Примечание. Возможность оставлять удалённые строки видимыми усложняет поведение некоторых методов стандартных реализаций JDBC RowSet. Однако большинство пользователей наборов строк могут просто не учитывать эту особенность, поскольку воспользоваться этой возможностью, скорее всего, захотят только специализированные приложения.

Возвращает:
true, если удалённые строки видны; в противном случае — false
Выбрасывает:
SQLException — если реализация набора строк не может определить, остаются ли видимыми строки, помеченные для удаления
См. также:
  • setShowDeleted(boolean)

setShowDeleted

void setShowDeleted(boolean b) throws SQLException
Задаёт свойству showDeleted указанное значение boolean. Это свойство определяет, продолжают ли отображаться в наборе текущих строк строки, помеченные для удаления. Если задано значение true, удалённые строки сразу становятся видимыми в наборе текущих строк. Если задано значение false, удалённые строки становятся невидимыми в текущем наборе строк.

Стандартные реализации наборов строк могут ограничивать это поведение по соображениям безопасности или для определённых сценариев развёртывания. Это определяется реализацией и не является стандартным поведением.

Параметры:
b — true, если удалённые строки следует отображать; в противном случае — false
Выбрасывает:
SQLException — если реализация набора строк не может изменить настройку видимости удалённых строк
См. также:
  • getShowDeleted()

getRowSetWarnings

RowSetWarning getRowSetWarnings() throws SQLException
Получает первое предупреждение, зарегистрированное при вызовах для этого объекта JdbcRowSet. Если для этого объекта JdbcRowSet было зарегистрировано второе предупреждение, оно будет связано с первым предупреждением и его можно получить, вызвав метод RowSetWarning.getNextWarning для первого предупреждения. Последующие предупреждения для этого объекта JdbcRowSet будут связаны с объектами RowSetWarning, возвращаемыми методом RowSetWarning.getNextWarning. Цепочка предупреждений автоматически очищается при каждом чтении новой строки. Этот метод нельзя вызывать для закрытого объекта RowSet; в противном случае будет выброшено исключение SQLException.

Поскольку объект JdbcRowSet всегда подключён к источнику данных, он может рассчитывать на наличие активных экземпляров Statement, Connection и ResultSet. Это означает, что приложения могут получать дополнительные уведомления SQLWarning, вызывая предоставляемые ими методы getNextWarning. Отключённые объекты Rowset, например объект CachedRowSet, не имеют доступа к этим методам getNextWarning.

Возвращает:
первый объект RowSetWarning, зарегистрированный для этого объекта JdbcRowSet, или null, если предупреждений нет
Выбрасывает:
SQLException — если этот метод вызван для закрытого объекта JdbcRowSet
См. также:
  • RowSetWarning

commit

void commit() throws SQLException
Каждый JdbcRowSet содержит объект Connection из ResultSet или свойства JDBC, переданные его конструкторам. Этот метод оборачивает метод commit объекта Connection, обеспечивая гибкую поддержку транзакционного управления с автоматической фиксацией или без неё.

Фиксирует все изменения, сделанные после предыдущего вызова commit/rollback, и освобождает все блокировки базы данных, удерживаемые в данный момент этим объектом Connection. Этот метод следует использовать только при отключённом режиме автоматической фиксации.

Выбрасывает:
SQLException — если произошла ошибка доступа к базе данных или объект Connection в этом JdbcRowSet находится в режиме автоматической фиксации
См. также:
  • Connection.setAutoCommit(boolean)

getAutoCommit

boolean getAutoCommit() throws SQLException
Каждый JdbcRowSet содержит объект Connection из исходного ResultSet или свойства JDBC, переданные ему. Этот метод оборачивает метод getAutoCommit объекта Connection, позволяя приложению определить поведение транзакций JdbcRowSet.

Устанавливает режим автоматической фиксации этого соединения в указанное состояние. Если соединение работает в режиме автоматической фиксации, все его инструкции SQL выполняются и фиксируются как отдельные транзакции. В противном случае инструкции SQL группируются в транзакции, завершаемые вызовом метода commit или rollback. По умолчанию новые соединения работают в режиме автоматической фиксации.

Возвращает:
true, если автоматическая фиксация включена; в противном случае — false
Выбрасывает:
SQLException — если произошла ошибка доступа к базе данных
См. также:
  • Connection.getAutoCommit()

setAutoCommit

void setAutoCommit(boolean autoCommit) throws SQLException
Каждый JdbcRowSet содержит объект Connection из исходного ResultSet или свойства JDBC, переданные ему. Этот метод оборачивает метод getAutoCommit объекта Connection, позволяя приложению задать поведение транзакций JdbcRowSet.

Устанавливает текущий режим автоматической фиксации для этого объекта Connection.

Параметры:
autoCommit — true для включения автоматической фиксации; false для её отключения
Выбрасывает:
SQLException — если произошла ошибка доступа к базе данных
См. также:
  • Connection.setAutoCommit(boolean)

rollback

void rollback() throws SQLException
Каждый JdbcRowSet содержит объект Connection из исходного ResultSet или свойства JDBC, переданные ему. Отменяет все изменения, сделанные в текущей транзакции, и освобождает все блокировки базы данных, удерживаемые в данный момент этим объектом Connection. Этот метод следует использовать только при отключённом режиме автоматической фиксации.
Выбрасывает:
SQLException — если произошла ошибка доступа к базе данных или объект Connection в этом JdbcRowSet находится в режиме автоматической фиксации.
См. также:
  • rollback(Savepoint)

rollback

void rollback(Savepoint s) throws SQLException
Каждый JdbcRowSet содержит объект Connection из исходного ResultSet или свойства JDBC, переданные ему. Отменяет все изменения текущей транзакции до последней установленной точки сохранения и освобождает все блокировки базы данных, удерживаемые в данный момент этим объектом Connection. Этот метод следует использовать только при отключённом режиме автоматической фиксации.
Параметры:
s — точка сохранения Savepoint, к которой выполняется откат
Выбрасывает:
SQLException — если произошла ошибка доступа к базе данных или объект Connection в этом JdbcRowSet находится в режиме автоматической фиксации.
См. также:
  • rollback()

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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/JdbcRowSet.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API