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