Интерфейс 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 |
Каждый JdbcRowSet содержит объект Connection из исходного ResultSet или свойств JDBC, переданных в него. |
void |
setAutoCommit |
Каждый JdbcRowSet содержит объект Connection из исходного ResultSet или свойств JDBC, переданных в него. |
void |
setShowDeleted |
Устанавливает свойство 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
void setShowDeleted(boolean b) throws SQLException
showDeleted заданному значению. Это свойство определяет, будут ли строки, помеченные для удаления, продолжать отображаться в наборе текущих строк. Если значение установлено в true, строки, помеченные для удаления, немедленно отображаются вместе с текущими строками. Если значение установлено в false, строки, помеченные для удаления, скрываются из набора текущих строк. Реализации стандартных наборов строк могут ограничивать это поведение по соображениям безопасности или в определенных сценариях развертывания. Это остается зависящим от реализации и не является стандартным поведением.
- Параметры:
-
b-true, если строки, помеченные для удаления, должны быть видны;falseв противном случае - Исключение:
-
SQLException— если реализация набора строк не может сбросить значение, указывающее, должны ли отображаться строки, помеченные для удаления - См. также:
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 - См. также:
commit
void commit() throws SQLException
JdbcRowSet содержит объект Connection из свойств ResultSet или JDBC, переданных в его конструкторы. Этот метод оборачивает метод Connection commit, чтобы обеспечить гибкую поддержку управления транзакциями с автоматическим или без автоматического подтверждения. Делает все изменения, внесенные с момента предыдущего подтверждения/отката, постоянными и освобождает все блокировки базы данных, удерживаемые этим объектом соединения. Этот метод следует использовать только при отключённом режиме автоматического подтверждения.
- Исключение:
-
SQLException— если произошла ошибка доступа к базе данных или это подключение в этом объектеJdbcRowSetнаходится в режиме автоматического подтверждения - См. также:
getAutoCommit
boolean getAutoCommit() throws SQLException
JdbcRowSet содержит объект Connection из оригинальных свойств ResultSet или JDBC, переданных в него. Этот метод оборачивает метод Connection getAutoCommit, чтобы позволить приложению определить поведение транзакций с подтверждением. Устанавливает режим автоматического подтверждения этого подключения в заданном состоянии. Если подключение находится в режиме автоматического подтверждения, все его SQL-запросы будут выполняться и подтверждаться как отдельные транзакции. В противном случае его SQL-запросы группируются в транзакции, которые завершаются вызовом метода commit или rollback. По умолчанию новые подключения находятся в режиме автоматического подтверждения.
- Возвращает:
-
true, если автоматическое подтверждение включено;falseв противном случае - Исключение:
-
SQLException— если произошла ошибка доступа к базе данных - См. также:
setAutoCommit
void setAutoCommit(boolean autoCommit) throws SQLException
JdbcRowSet содержит объект Connection из оригинальных свойств ResultSet или JDBC, переданных в него. Этот метод оборачивает метод Connection getAutoCommit, чтобы позволить приложению установить поведение транзакций с подтверждением. Устанавливает текущий режим автоматического подтверждения для этого объекта Connection.
- Параметры:
-
autoCommit-true, чтобы включить автоматическое подтверждение;false, чтобы отключить автоматическое подтверждение - Исключение:
-
SQLException— если произошла ошибка доступа к базе данных - См. также:
rollback
void rollback() throws SQLException
JdbcRowSet содержит объект Connection из оригинальных свойств ResultSet или JDBC, переданных в него. Отменяет все изменения, внесенные в текущей транзакции, и освобождает все блокировки базы данных, удерживаемые этим объектом Connection. Этот метод следует использовать только при отключённом режиме автоматического подтверждения.- Исключение:
-
SQLException— если произошла ошибка доступа к базе данных или это соединение в этом объектеConnectionнаходится в режиме автоматического подтверждения. - См. также:
rollback
void rollback(Savepoint s) throws SQLException
JdbcRowSet содержит объект Connection из оригинальных свойств ResultSet или JDBC, переданных в него. Отменяет все изменения, внесенные в текущей транзакции до последнего установленного сохраняемого пункта и освобождает все блокировки базы данных, удерживаемые этим объектом Connection. Этот метод следует использовать только при отключённом режиме автоматического подтверждения.- Параметры:
-
s-Savepoint, до которого необходимо откатить изменения - Исключение:
-
SQLException— если произошла ошибка доступа к базе данных или это соединение в этом объектеConnectionнаходится в режиме автоматического подтверждения. - См. также:
© 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