Интерфейс JdbcRowSet
- Все суперинтерфейсы:
-
AutoCloseable,Joinable,ResultSet,RowSet,Wrapper
public interface JdbcRowSet extends RowSet, Joinable
JdbcRowSet. 1.0 Обзор
Обёртка вокруг объектаResultSet, которая позволяет использовать набор результатов как компонент JavaBeans. Таким образом, объект JdbcRowSet может быть одним из компонентов, которые инструмент предоставляет для построения приложения. Поскольку 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— набор результатов, который произвёл запрос набора строк и который фактически превращается в компонент 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
boolean, указывающее, отображаются ли строки, помеченные на удаление, в наборе текущих строк. Если возвращается true, удалённые строки будут видны вместе с текущими. Если возвращается false, строки не будут отображаться в наборе текущих строк. Значение по умолчанию — false. Стандартные реализации наборов строк могут ограничить это поведение по соображениям безопасности или в определённых сценариях развертывания. Видимость удалённых строк определяется реализацией и не является стандартным поведением.
Примечание: Разрешение удалённых строк оставаться видимыми усложняет работу некоторых стандартных методов JDBC RowSet реализаций. Однако большинство пользователей наборов строк могут просто проигнорировать эту дополнительную деталь, так как только очень специализированные приложения, скорее всего, захотят воспользоваться этой функцией.
- Возвращает:
-
trueесли удалённые строки видны;falseв противном случае - Исключение:
-
SQLException— если реализация набора строк не может определить, остаются ли строки, помеченные на удаление, видимыми - См. также:
setShowDeleted
void setShowDeleted(boolean b) throws SQLException
showDeleted в заданное значение boolean. Это свойство определяет, будут ли строки, помеченные на удаление, продолжать отображаться в наборе текущих строк. Если значение установлено в 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, чтобы обеспечить гибкую поддержку авто-подтверждения или транзакций без авто-подтверждения. Делает все изменения, внесённые с момента предыдущего подтверждения/отката, постоянными и освобождает любые блокировки базы данных, в настоящее время удерживаемые этим объектом Connection. Этот метод должен использоваться только при отключённом режиме авто-подтверждения.
- Исключение:
-
SQLException— если произошла ошибка доступа к базе данных или объект Connection внутри этогоJdbcRowSetнаходится в режиме авто-подтверждения - См. также:
getAutoCommit
boolean getAutoCommit() throws SQLException
JdbcRowSet содержит объект Connection из исходных ResultSet или JDBC свойств, переданных в него. Данный метод оборачивает метод Connection's getAutoCommit для определения поведения транзакции JdbcRowSet приложения. Устанавливает режим авто-подтверждения данного соединения в заданное состояние. Если соединение находится в режиме авто-подтверждения, все его SQL-запросы будут выполняться и подтверждаться как отдельные транзакции. В противном случае SQL-запросы группируются в транзакции, которые завершаются вызовом метода commit или rollback. По умолчанию новые соединения находятся в режиме авто-подтверждения.
- Возвращает:
-
trueесли авто-подтверждение включено;falseв противном случае - Исключение:
-
SQLException— если произошла ошибка доступа к базе данных - См. также:
setAutoCommit
void setAutoCommit(boolean autoCommit) throws SQLException
JdbcRowSet содержит объект Connection из исходных ResultSet или JDBC свойств, переданных в него. Этот метод оборачивает метод Connection's getAutoCommit для установки поведения транзакции JdbcRowSet приложения. Устанавливает текущий режим авто-подтверждения для объекта Connection.
- Параметры:
-
autoCommit-trueдля включения авто-подтверждения;falseдля отключения авто-подтверждения - Исключение:
-
SQLException— если произошла ошибка доступа к базе данных - См. также:
rollback
void rollback() throws SQLException
JdbcRowSet содержит объект Connection из исходных ResultSet или JDBC свойств, переданных в него. Отменяет все изменения, внесённые в текущую транзакцию, и освобождает все блокировки базы данных, в настоящее время удерживаемые этим объектом Connection. Данный метод должен использоваться только при отключённом режиме авто-подтверждения.- Исключение:
-
SQLException- если произошла ошибка доступа к базе данных или этот объектConnectionвнутри этогоJdbcRowSetнаходится в режиме авто-подтверждения. - См. также:
rollback
void rollback(Savepoint s) throws SQLException
JdbcRowSet содержит объект Connection из исходных ResultSet или JDBC свойств, переданных в него. Отменяет все изменения, внесённые в текущую транзакцию, до последнего установленного сохраняемого пункта и освобождает любые блокировки базы данных, в настоящее время удерживаемые этим объектом Connection . Данный метод должен использоваться только при отключённом режиме авто-подтверждения.- Параметры:
-
s- Сохраняемый пункт, до которого нужно откатить транзакцию - Исключение:
-
SQLException- если произошла ошибка доступа к базе данных или этот объектConnectionвнутри этогоJdbcRowSetнаходится в режиме авто-подтверждения. - См. также:
© 1993, 2023, 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/21/docs/api/java.sql.rowset/javax/sql/rowset/JdbcRowSet.html