Spec-Zone.ru › OpenJDK 8

Интерфейс 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()

Каждый 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

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.

Spec-Zone.ru

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