public class ResultSetWrappingSqlRowSet extends java.lang.Object implements SqlRowSet
SqlRowSet
インターフェースのデフォルトの実装で、ResultSet
をラップし、SQLExceptions
をキャッチして、対応する Spring InvalidResultSetAccessException
に変換します。 渡された ResultSet は、SqlRowSet が切断された方法で使用可能であると想定されている場合、すでに切断されているはずです。つまり、通常は ResultSet インターフェースを実装する javax.sql.rowset.CachedRowSet
を渡します。
メモ: JDBC 4.0 以降、文字列を使用して列を識別するメソッドでは、列ラベルを使用する必要があることが明確になりました。列ラベルは、SQL クエリ文字列で ALIAS キーワードを使用して割り当てられます。クエリで ALIAS を使用しない場合、デフォルトのラベルは列名です。ほとんどの JDBC ResultSet 実装はこの新しいパターンに従いますが、列名のみを使用し、列ラベルを無視する com.sun.rowset.CachedRowSetImpl
クラスなどの例外があります。Spring 3.0.5 の時点で、ResultSetWrappingSqlRowSet は列ラベルを正しい列インデックスに変換して、RowSets を操作するときに JdbcTemplate
によって使用されるデフォルトの実装である com.sun.rowset.CachedRowSetImpl
のサポートを改善します。
メモ: このクラスは、SqlRowSet インターフェースを介して java.io.Serializable
マーカーインターフェースを実装しますが、実際に直列化可能であるのは、それに含まれる切断された ResultSet/RowSet が直列化可能である場合のみです。ほとんどの CachedRowSet 実装は実際にはシリアライズ可能であるため、通常これでうまくいくはずです。
ResultSet
, CachedRowSet
, JdbcTemplate.queryForRowSet(java.lang.String)
, 直列化された形式 コンストラクターと説明 |
---|
ResultSetWrappingSqlRowSet(java.sql.ResultSet resultSet) 指定された ResultSet の新しい ResultSetWrappingSqlRowSet を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
boolean | absolute(int row) 行セット内の最後の行の直後に、指定された行番号にカーソルを移動します。 |
void | afterLast() カーソルをこの行セットの最後に移動します。 |
void | beforeFirst() カーソルをこの行セットの前、最初の行の直前に移動します。 |
int | findColumn(java.lang.String columnLabel) 指定された列ラベルをその列インデックスにマップします。 |
boolean | first() カーソルをこの行セットの最初の行に移動します。 |
java.math.BigDecimal | getBigDecimal(int columnIndex) 現在の行の指定された列の値を BigDecimal オブジェクトとして取得します。 |
java.math.BigDecimal | getBigDecimal(java.lang.String columnLabel) 現在の行の指定された列の値を BigDecimal オブジェクトとして取得します。 |
boolean | getBoolean(int columnIndex) 現在行の指定された列の値をブール値として取得します。 |
boolean | getBoolean(java.lang.String columnLabel) 現在行の指定された列の値をブール値として取得します。 |
byte | getByte(int columnIndex) 現在行の指定された列の値をバイトとして取得します。 |
byte | getByte(java.lang.String columnLabel) 現在行の指定された列の値をバイトとして取得します。 |
java.sql.Date | getDate(int columnIndex) 現在の行の指定された列の値を Date オブジェクトとして取得します。 |
java.sql.Date | getDate(int columnIndex, java.util.Calendar cal) 現在の行の指定された列の値を Date オブジェクトとして取得します。 |
java.sql.Date | getDate(java.lang.String columnLabel) 現在の行の指定された列の値を Date オブジェクトとして取得します。 |
java.sql.Date | getDate(java.lang.String columnLabel, java.util.Calendar cal) 現在の行の指定された列の値を Date オブジェクトとして取得します。 |
double | getDouble(int columnIndex) 現在行の指定された列の値を Double オブジェクトとして取得します。 |
double | getDouble(java.lang.String columnLabel) 現在行の指定された列の値を Double オブジェクトとして取得します。 |
float | getFloat(int columnIndex) 現在の行の指定された列の値を float として取得します。 |
float | getFloat(java.lang.String columnLabel) 現在の行の指定された列の値を float として取得します。 |
int | getInt(int columnIndex) 現在の行の指定された列の値を int として取得します。 |
int | getInt(java.lang.String columnLabel) 現在の行の指定された列の値を int として取得します。 |
long | getLong(int columnIndex) 現在行の指定された列の値を long として取得します。 |
long | getLong(java.lang.String columnLabel) 現在行の指定された列の値を long として取得します。 |
SqlRowSetMetaData | getMetaData() メタデータを取得します。 |
java.lang.String | getNString(int columnIndex) 現在の行の指定された列の値を文字列として取得します(NCHAR、NVARCHAR、LONGNVARCHAR 列の場合)。 |
java.lang.String | getNString(java.lang.String columnLabel) 現在の行の指定された列の値を文字列として取得します(NCHAR、NVARCHAR、LONGNVARCHAR 列の場合)。 |
java.lang.Object | getObject(int columnIndex) 現在の行の指定された列の値をオブジェクトとして取得します。 |
<T> T | getObject(int columnIndex, java.lang.Class<T> type) 現在の行の指定された列の値をオブジェクトとして取得します。 |
java.lang.Object | getObject(int columnIndex, java.util.Map<java.lang.String,java.lang.Class<?>> map) 現在の行の指定された列の値をオブジェクトとして取得します。 |
java.lang.Object | getObject(java.lang.String columnLabel) 現在の行の指定された列の値をオブジェクトとして取得します。 |
<T> T | getObject(java.lang.String columnLabel, java.lang.Class<T> type) 現在の行の指定された列の値をオブジェクトとして取得します。 |
java.lang.Object | getObject(java.lang.String columnLabel, java.util.Map<java.lang.String,java.lang.Class<?>> map) 現在の行の指定された列の値をオブジェクトとして取得します。 |
java.sql.ResultSet | getResultSet() 基本となる ResultSet(通常は javax.sql.rowset.CachedRowSet )を返します。 |
int | getRow() 現在の行番号を取得します。 |
short | getShort(int columnIndex) 現在の行の指定された列の値を short として取得します。 |
short | getShort(java.lang.String columnLabel) 現在の行の指定された列の値を short として取得します。 |
java.lang.String | getString(int columnIndex) 現在の行の指定された列の値を文字列として取得します。 |
java.lang.String | getString(java.lang.String columnLabel) 現在の行の指定された列の値を文字列として取得します。 |
java.sql.Time | getTime(int columnIndex) 現在の行の指定された列の値を Time オブジェクトとして取得します。 |
java.sql.Time | getTime(int columnIndex, java.util.Calendar cal) 現在の行の指定された列の値を Time オブジェクトとして取得します。 |
java.sql.Time | getTime(java.lang.String columnLabel) 現在の行の指定された列の値を Time オブジェクトとして取得します。 |
java.sql.Time | getTime(java.lang.String columnLabel, java.util.Calendar cal) 現在の行の指定された列の値を Time オブジェクトとして取得します。 |
java.sql.Timestamp | getTimestamp(int columnIndex) 現在の行の指定された列の値を Timestamp オブジェクトとして取得します。 |
java.sql.Timestamp | getTimestamp(int columnIndex, java.util.Calendar cal) 現在の行の指定された列の値を Timestamp オブジェクトとして取得します。 |
java.sql.Timestamp | getTimestamp(java.lang.String columnLabel) 現在の行の指定された列の値を Timestamp オブジェクトとして取得します。 |
java.sql.Timestamp | getTimestamp(java.lang.String columnLabel, java.util.Calendar cal) 現在の行の指定された列の値を Timestamp オブジェクトとして取得します。 |
boolean | isAfterLast() カーソルがこの行セットの最後の行の後にあるかどうかを取得します。 |
boolean | isBeforeFirst() カーソルがこの行セットの最初の行の前にあるかどうかを取得します。 |
boolean | isFirst() カーソルがこの行セットの最初の行にあるかどうかを取得します。 |
boolean | isLast() カーソルがこの行セットの最後の行にあるかどうかを取得します。 |
boolean | last() カーソルをこの行セットの最後の行に移動します。 |
boolean | next() カーソルを次の行に移動します。 |
boolean | previous() カーソルを前の行に移動します。 |
boolean | relative(int rows) 正または負の相対行数でカーソルを移動します。 |
boolean | wasNull() 最後に読み取られた列の値が SQL NULL であったかどうかを報告します。 |
public ResultSetWrappingSqlRowSet(java.sql.ResultSet resultSet) throws InvalidResultSetAccessException
resultSet
- ラップする切断された ResultSet (通常 javax.sql.rowset.CachedRowSet
)InvalidResultSetAccessException
- ResultSetMetaData の抽出に失敗した場合 CachedRowSet
, ResultSet.getMetaData()
, ResultSetWrappingSqlRowSetMetaData
public final java.sql.ResultSet getResultSet()
javax.sql.rowset.CachedRowSet
)を返します。CachedRowSet
public final SqlRowSetMetaData getMetaData()
SqlRowSet
SqlRowSet
の getMetaData
ResultSetMetaData.getCatalogName(int)
public int findColumn(java.lang.String columnLabel) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の findColumn
columnLabel
- 列の名前 InvalidResultSetAccessException
ResultSet.findColumn(String)
public java.math.BigDecimal getBigDecimal(int columnIndex) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getBigDecimal
columnIndex
- 列インデックス InvalidResultSetAccessException
ResultSet.getBigDecimal(int)
public java.math.BigDecimal getBigDecimal(java.lang.String columnLabel) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getBigDecimal
columnLabel
- 列ラベル InvalidResultSetAccessException
ResultSet.getBigDecimal(String)
public boolean getBoolean(int columnIndex) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getBoolean
columnIndex
- 列インデックス InvalidResultSetAccessException
ResultSet.getBoolean(int)
public boolean getBoolean(java.lang.String columnLabel) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getBoolean
columnLabel
- 列ラベル InvalidResultSetAccessException
ResultSet.getBoolean(String)
public byte getByte(int columnIndex) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getByte
columnIndex
- 列インデックス InvalidResultSetAccessException
ResultSet.getByte(int)
public byte getByte(java.lang.String columnLabel) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getByte
columnLabel
- 列ラベル InvalidResultSetAccessException
ResultSet.getByte(String)
public java.sql.Date getDate(int columnIndex) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getDate
columnIndex
- 列インデックス InvalidResultSetAccessException
ResultSet.getDate(int)
public java.sql.Date getDate(java.lang.String columnLabel) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getDate
columnLabel
- 列ラベル InvalidResultSetAccessException
ResultSet.getDate(String)
public java.sql.Date getDate(int columnIndex, java.util.Calendar cal) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getDate
columnIndex
- 列インデックス cal
- 日付の作成に使用するカレンダー InvalidResultSetAccessException
ResultSet.getDate(int, Calendar)
public java.sql.Date getDate(java.lang.String columnLabel, java.util.Calendar cal) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getDate
columnLabel
- 列ラベル cal
- 日付の作成に使用するカレンダー InvalidResultSetAccessException
ResultSet.getDate(String, Calendar)
public double getDouble(int columnIndex) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getDouble
columnIndex
- 列インデックス InvalidResultSetAccessException
ResultSet.getDouble(int)
public double getDouble(java.lang.String columnLabel) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getDouble
columnLabel
- 列ラベル InvalidResultSetAccessException
ResultSet.getDouble(String)
public float getFloat(int columnIndex) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getFloat
columnIndex
- 列インデックス InvalidResultSetAccessException
ResultSet.getFloat(int)
public float getFloat(java.lang.String columnLabel) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getFloat
columnLabel
- 列ラベル InvalidResultSetAccessException
ResultSet.getFloat(String)
public int getInt(int columnIndex) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getInt
columnIndex
- 列インデックス InvalidResultSetAccessException
ResultSet.getInt(int)
public int getInt(java.lang.String columnLabel) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getInt
columnLabel
- 列ラベル InvalidResultSetAccessException
ResultSet.getInt(String)
public long getLong(int columnIndex) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getLong
columnIndex
- 列インデックス InvalidResultSetAccessException
ResultSet.getLong(int)
public long getLong(java.lang.String columnLabel) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getLong
columnLabel
- 列ラベル InvalidResultSetAccessException
ResultSet.getLong(String)
public java.lang.String getNString(int columnIndex) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getNString
columnIndex
- 列インデックス InvalidResultSetAccessException
ResultSet.getNString(int)
public java.lang.String getNString(java.lang.String columnLabel) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getNString
columnLabel
- 列ラベル InvalidResultSetAccessException
ResultSet.getNString(String)
public java.lang.Object getObject(int columnIndex) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getObject
columnIndex
- 列インデックス InvalidResultSetAccessException
ResultSet.getObject(int)
public java.lang.Object getObject(java.lang.String columnLabel) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getObject
columnLabel
- 列ラベル InvalidResultSetAccessException
ResultSet.getObject(String)
public java.lang.Object getObject(int columnIndex, java.util.Map<java.lang.String,java.lang.Class<?>> map) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getObject
columnIndex
- 列インデックス map
- SQL 型から Java 型へのマッピングを含む Map オブジェクト InvalidResultSetAccessException
ResultSet.getObject(int, Map)
public java.lang.Object getObject(java.lang.String columnLabel, java.util.Map<java.lang.String,java.lang.Class<?>> map) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getObject
columnLabel
- 列ラベル map
- SQL 型から Java 型へのマッピングを含む Map オブジェクト InvalidResultSetAccessException
ResultSet.getObject(String, Map)
public <T> T getObject(int columnIndex, java.lang.Class<T> type) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getObject
columnIndex
- 列インデックス type
- 指定された列を変換する Java 型 InvalidResultSetAccessException
ResultSet.getObject(int, Class)
public <T> T getObject(java.lang.String columnLabel, java.lang.Class<T> type) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getObject
columnLabel
- 列ラベル type
- 指定された列を変換する Java 型 InvalidResultSetAccessException
ResultSet.getObject(String, Class)
public short getShort(int columnIndex) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getShort
columnIndex
- 列インデックス InvalidResultSetAccessException
ResultSet.getShort(int)
public short getShort(java.lang.String columnLabel) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getShort
columnLabel
- 列ラベル InvalidResultSetAccessException
ResultSet.getShort(String)
public java.lang.String getString(int columnIndex) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getString
columnIndex
- 列インデックス InvalidResultSetAccessException
ResultSet.getString(int)
public java.lang.String getString(java.lang.String columnLabel) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getString
columnLabel
- 列ラベル InvalidResultSetAccessException
ResultSet.getString(String)
public java.sql.Time getTime(int columnIndex) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getTime
columnIndex
- 列インデックス InvalidResultSetAccessException
ResultSet.getTime(int)
public java.sql.Time getTime(java.lang.String columnLabel) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getTime
columnLabel
- 列ラベル InvalidResultSetAccessException
ResultSet.getTime(String)
public java.sql.Time getTime(int columnIndex, java.util.Calendar cal) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getTime
columnIndex
- 列インデックス cal
- 日付の作成に使用するカレンダー InvalidResultSetAccessException
ResultSet.getTime(int, Calendar)
public java.sql.Time getTime(java.lang.String columnLabel, java.util.Calendar cal) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getTime
columnLabel
- 列ラベル cal
- 日付の作成に使用するカレンダー InvalidResultSetAccessException
ResultSet.getTime(String, Calendar)
public java.sql.Timestamp getTimestamp(int columnIndex) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getTimestamp
columnIndex
- 列インデックス InvalidResultSetAccessException
ResultSet.getTimestamp(int)
public java.sql.Timestamp getTimestamp(java.lang.String columnLabel) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getTimestamp
columnLabel
- 列ラベル InvalidResultSetAccessException
ResultSet.getTimestamp(String)
public java.sql.Timestamp getTimestamp(int columnIndex, java.util.Calendar cal) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getTimestamp
columnIndex
- 列インデックス cal
- 日付の作成に使用するカレンダー InvalidResultSetAccessException
ResultSet.getTimestamp(int, Calendar)
public java.sql.Timestamp getTimestamp(java.lang.String columnLabel, java.util.Calendar cal) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getTimestamp
columnLabel
- 列ラベル cal
- 日付の作成に使用するカレンダー InvalidResultSetAccessException
ResultSet.getTimestamp(String, Calendar)
public boolean absolute(int row) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の absolute
row
- カーソルが移動する行の番号 true
、それ以外の場合は false
InvalidResultSetAccessException
ResultSet.absolute(int)
public void afterLast() throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の afterLast
InvalidResultSetAccessException
ResultSet.afterLast()
public void beforeFirst() throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の beforeFirst
InvalidResultSetAccessException
ResultSet.beforeFirst()
public boolean first() throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の first
true
、それ以外の場合は false
InvalidResultSetAccessException
ResultSet.first()
public int getRow() throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の getRow
InvalidResultSetAccessException
ResultSet.getRow()
public boolean isAfterLast() throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の isAfterLast
true
、それ以外の場合は false
InvalidResultSetAccessException
ResultSet.isAfterLast()
public boolean isBeforeFirst() throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の isBeforeFirst
true
、それ以外の場合は false
InvalidResultSetAccessException
ResultSet.isBeforeFirst()
public boolean isFirst() throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の isFirst
true
、それ以外の場合は false
InvalidResultSetAccessException
ResultSet.isFirst()
public boolean isLast() throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の isLast
true
、それ以外の場合は false
InvalidResultSetAccessException
ResultSet.isLast()
public boolean last() throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の last
true
、それ以外の場合は false
InvalidResultSetAccessException
ResultSet.last()
public boolean next() throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の next
true
、行がもうない場合は false
InvalidResultSetAccessException
ResultSet.next()
public boolean previous() throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の previous
true
、行セットから外れている場合は false
InvalidResultSetAccessException
ResultSet.previous()
public boolean relative(int rows) throws InvalidResultSetAccessException
SqlRowSet
SqlRowSet
の relative
true
、それ以外の場合は false
InvalidResultSetAccessException
ResultSet.relative(int)
public boolean wasNull() throws InvalidResultSetAccessException
SqlRowSet
NULL
であったかどうかを報告します。 最初に getter メソッドの 1 つを呼び出してから、wasNull()
メソッドを呼び出す必要があることに注意してください。
SqlRowSet
の wasNull
NULL
の場合は true
、それ以外の場合は false
InvalidResultSetAccessException
ResultSet.wasNull()