インタフェースJdbcRowSet
- すべてのスーパー・インタフェース:
AutoCloseable,Joinable,ResultSet,RowSet,Wrapper
JdbcRowSetのすべての標準実装が実装しなければならない標準インタフェースです。
1.0 概要
結果セットをJavaBeansコンポーネントとして使用できるようにするResultSetオブジェクトのラッパー。 したがって、JdbcRowSetオブジェクトは、ツールがアプリケーションの組立てに利用できるBeansの1つになります。 JdbcRowSetは接続された行セットなので、JDBCテクノロジを使用可能なドライバを使用してデータベース接続を継続して保持します。また、ドライバを事実上のJavaBeansコンポーネントにします。
常にデータベースに接続されているので、JdbcRowSetのインスタンスは、この接続上で呼出しを行い、続いてこれらをそのResultSetオブジェクト上で呼び出します。 その結果、たとえば結果セットは、Swingアプリケーションのコンポーネントになります。
JdbcRowSetオブジェクトのもう1つの利点は、ResultSetオブジェクトにスクロール機能と更新機能を持たせることができる点にあります。 すべてのRowSetオブジェクトは、デフォルトで、スクロール機能と更新機能を備えています。 使用するドライバとデータベースが結果セットのスクロール機能や更新機能をサポートしない場合、アプリケーションはJdbcRowSetオブジェクトにResultSetオブジェクトのデータを移植し、あたかもResultSetオブジェクトのようにJdbcRowSetオブジェクトを操作することができます。
2.0 JdbcRowSetオブジェクトの作成
JdbcRowSetインタフェースのリファレンス実装、JdbcRowSetImplは、デフォルト・コンストラクタの実装を提供します。 新しいインスタンスは、デフォルト値で初期化されます。その後、必要に応じて新しい値を設定できます。 新しいインスタンスは、executeメソッドが呼び出されるまで、実際には機能しません。 通常、このメソッドは次の処理を行います。
- データベースとの接続を確立する
-
PreparedStatementオブジェクトを作成し、プレースホルダー・パラメータを設定する -
ResultSetオブジェクトを作成する文を実行する
executeメソッドは、成功した場合、適切なprivate JdbcRowSetフィールドに次の項目を設定します。
-
Connectionオブジェクト -- 行セットとデータベース間の接続 -
PreparedStatementオブジェクト -- 結果セットを生成するクエリー -
ResultSetオブジェクト -- 行セットのコマンドによって生成された結果セット。この結果セットから、JavaBeansコンポーネントが生成される
executeメソッドが正常に実行されなかったことになります。行セット上では、executeとclose以外のメソッドは呼び出せません。 その他のpublicメソッドはすべて例外をスローします。
しかし、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は、表TITLES (書籍の種類は伝記文学)内のすべての行を含むResultSetオブジェクトのthinラッパー、JdbcRowSetImplのインスタンスを表現するようになります。 この時点で、jrs上で呼び出される操作は、結果セット内の行(事実上のJavaBeansコンポーネント)に影響を及ぼします。
JdbcRowSetリファレンス実装のRowSetメソッドexecuteの実装は、接続および切断されたRowSetオブジェクトの様々な要件を考慮してCachedRowSetリファレンス実装の実装とは異なります。
- 導入されたバージョン:
- 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 -
メソッドのサマリー
修飾子と型メソッド説明voidcommit()JdbcRowSetには、ResultSetのConnectionオブジェクトか、コンストラクタに渡されるJDBCプロパティが含まれます。booleanJdbcRowSetには、元のResultSetのConnectionオブジェクトか、それに渡されるJDBCプロパティが含まれます。このJdbcRowSetオブジェクトに関する呼出しによって報告される最初の警告を取得します。boolean削除マークが付けられた行を現在の行とともに表示するかどうかを示すbooleanを取得します。voidrollback()JdbcRowSetには、元のResultSetのConnectionオブジェクトか、それに渡されるJDBCプロパティが含まれます。voidJdbcRowSetには、元のResultSetのConnectionオブジェクトか、それに渡されるJDBCプロパティが含まれます。voidsetAutoCommit(boolean autoCommit) JdbcRowSetには、元のResultSetのConnectionオブジェクトか、それに渡されるJDBCプロパティが含まれます。voidsetShowDeleted(boolean b) 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オブジェクト上に2番目の警告が報告された場合、この警告は最初の警告にチェーンされます。よって、2番目の警告は、最初の警告に対してRowSetWarning.getNextWarningメソッドを呼び出すことで取得できます。 このJdbcRowSetオブジェクト上の後続の警告は、RowSetWarning.getNextWarningメソッドによって返されるRowSetWarningオブジェクトにチェーンされます。 警告チェーンは、新しい行が読み込まれるたびに自動的にクリアされます。 クローズ済のRowSetオブジェクトでこのメソッドを呼び出すことはできません。そうした場合にはSQLExceptionがスローされます。JdbcRowSetオブジェクトは、常にデータ・ソースに接続されているので、アクティブなStatement、Connection、およびResultSetインスタンスの存在に依存することができます。 つまり、アプリケーションは、これらが提供するgetNextWarningメソッドを呼びだすことで、追加のSQLWarning通知を取得できることになります。CachedRowSetオブジェクトなど、未接続のRowsetオブジェクトは、これらのgetNextWarningメソッドにアクセスできません。- 戻り値:
- この
JdbcRowSetオブジェクト上で報告された最初のRowSetWarningオブジェクト。ない場合はnull - スロー:
SQLException- このメソッドがクローズされたJdbcRowSetオブジェクトで呼び出された場合- 関連項目:
-
commit
void commit() throws SQLExceptionJdbcRowSetには、ResultSetのConnectionオブジェクトか、コンストラクタに渡されるJDBCプロパティが含まれます。 このメソッドは、Connectionコミット・メソッドをラップして、柔軟な自動コミットまたは非自動コミットのトランザクション制御サポートを提供します。直前のコミット/ロールバック以降に行われた変更をすべて有効とし、このConnectionオブジェクトが現在保持するデータベース・ロックをすべて解除します。 このメソッドは自動コミット・モードが無効になっているときしか使用できません。
- スロー:
SQLException- データベース・アクセス・エラーが発生した場合、またはこのJdbcRowSet内のConnectionオブジェクトが自動コミット・モードである場合- 関連項目:
-
getAutoCommit
boolean getAutoCommit() throws SQLExceptionJdbcRowSetには、元のResultSetのConnectionオブジェクトか、それに渡されるJDBCプロパティが含まれます。 このメソッドは、ConnectionのgetAutoCommitメソッドをラップして、アプリケーションがJdbcRowSetトランザクションの動作を確認できるようにします。この接続の自動コミット・モードを指定された状態に設定します。 接続が自動コミット・モードの場合、そのすべてのSQL文は実行され、個別のトランザクションとしてコミットされます。 そうでない場合、そのSQL文は、commitメソッドまたはrollbackメソッドへの呼出しによって終了されるトランザクションにグループ化されます。 デフォルトでは、新しい接続は自動コミット・モードです。
- 戻り値:
- 自動コミットが有効な場合は
true、そうでない場合はfalse - スロー:
SQLException- データベース・アクセス・エラーが発生した場合- 関連項目:
-
setAutoCommit
void setAutoCommit(boolean autoCommit) throws SQLException JdbcRowSetには、元のResultSetのConnectionオブジェクトか、それに渡されるJDBCプロパティが含まれます。 このメソッドは、ConnectionのgetAutoCommitメソッドをラップして、アプリケーションがJdbcRowSetトランザクションの動作を設定できるようにします。この
Connectionオブジェクトの現在の自動コミット・モードを設定します。- パラメータ:
autoCommit- 自動コミットを有効にする場合はtrue、無効にする場合はfalse- スロー:
SQLException- データベース・アクセス・エラーが発生した場合- 関連項目:
-
rollback
void rollback() throws SQLExceptionJdbcRowSetには、元のResultSetのConnectionオブジェクトか、それに渡されるJDBCプロパティが含まれます。 現在のトランザクションにおけるすべての変更を取り消し、現在このConnectionオブジェクトが保持しているすべてのデータベース・ロックを解除します。 このメソッドは自動コミット・モードが無効になっているときしか使用できません。- スロー:
SQLException- データベース・アクセス・エラーが発生した場合、またはこのJdbcRowSet内のConnectionオブジェクトが自動コミット・モードである場合。- 関連項目:
-
rollback
void rollback(Savepoint s) throws SQLException JdbcRowSetには、元のResultSetのConnectionオブジェクトか、それに渡されるJDBCプロパティが含まれます。 現在のトランザクションから最後のセーブポイントの設定までのすべての変更を取り消し、現在このConnectionオブジェクトが保持しているすべてのデータベース・ロックを解除します。 このメソッドは自動コミット・モードが無効になっているときしか使用できません。- パラメータ:
s- ロールバック先となるSavepoint- スロー:
SQLException- データベース・アクセス・エラーが発生した場合、またはこのJdbcRowSet内のConnectionオブジェクトが自動コミット・モードである場合。- 関連項目:
-