Spec-Zone.ru › OpenJDK 24

Интерфейс JdbcRowSet

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

1.0 Обзор

Обёртка вокруг объекта ResultSet, которая позволяет использовать результирующий набор данных как компонент JavaBeans. Таким образом, объект JdbcRowSet может быть одним из компонентов Beans, предоставляемых инструментом для сборки приложения. Поскольку объект JdbcRowSet является подключённым набором строк (rowset), то есть постоянно поддерживает подключение к базе данных с использованием драйвера, поддерживающего 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 — набор результатов, сгенерированный командой rowset, который, по сути, превращается в компонент 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

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

Поля, объявленные в интерфейсе java.sql.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.

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

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

Методы, объявленные в интерфейсе java.sql.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

Методы, объявленные в интерфейсе javax.sql.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

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

isWrapperFor, unwrap

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

getShowDeleted

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

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

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

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

setShowDeleted

void setShowDeleted(boolean b) throws SQLException
Устанавливает свойство showDeleted заданному значению. Это свойство определяет, будут ли строки, помеченные для удаления, продолжать отображаться в наборе текущих строк. Если значение установлено в 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, переданных в его конструкторы. Этот метод оборачивает метод Connection commit, чтобы обеспечить гибкую поддержку управления транзакциями с автоматическим или без автоматического подтверждения.

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

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

getAutoCommit

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

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

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

setAutoCommit

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

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

Параметры:
autoCommit - true, чтобы включить автоматическое подтверждение; false, чтобы отключить автоматическое подтверждение
Исключение:
SQLException — если произошла ошибка доступа к базе данных
См. также:
  • Connection.setAutoCommit(boolean)

rollback

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

rollback

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

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

Spec-Zone.ru

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