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