public class ResultSetIterator extends java.lang.Object implements java.lang.Iterable<SqlRow>
ResultSet
のWrapperクラス。SqlRow
で取得するインタフェースを提供する。
以下に例を示す。
ResultSetIterator rs = statement.executeQuery();
// for-each文を使って、1レコード文のデータを取得する。
for (SqlRow row : rs) {
// SqlRowから各カラムの値を取得し必要な処理を行う。
}
ResultSet
Constructor and Description |
---|
ResultSetIterator(java.sql.ResultSet rs,
ResultSetConvertor convertor)
パラメータで指定された
ResultSet を保持するResultSetIteratorオブジェクトを生成する。 |
Modifier and Type | Method and Description |
---|---|
void |
close()
ResultSet.close() を行う。 |
java.math.BigDecimal |
getBigDecimal(int columnIndex)
カレント行の指定されたカラムの値を
BigDecimal で取得する。 |
java.sql.Blob |
getBlob(int columnIndex)
カレント行の指定されたカラムの値を
Blob で取得する。 |
byte[] |
getBytes(int columnIndex)
カレント行の指定されたカラムの値をbyte配列で取得する。
|
java.util.Date |
getDate(int columnIndex)
カレント行の指定されたカラムの値を
Date で取得する。 |
java.lang.Integer |
getInteger(int columnIndex)
カレント行の指定されたカラムの値を
Integer で取得する。
ResultSet.getInt(int) は、カラムの値がnull の場合は0 を返すが、
本メソッドではカラムの値がnull の場合はnull を返す。
カラムの値がIntegerに変換可能な場合は、Integerに変換し返却する。変換できない場合は、カラムの値を持つ新しいIntegerインスタンスを返却する。 |
java.lang.Long |
getLong(int columnIndex)
カレント行の指定されたカラムの値を
Long で取得する。
ResultSet.getLong(int) は、カラムの値がnull の場合は0 を返すが、
本メソッドではカラムの値がnull の場合はnull を返す。
カラムの値がLongに変換可能な場合は、Longに変換し返却する。変換できない場合は、カラムの値を持つ新しいLongインスタンスを返却する。 |
java.sql.ResultSetMetaData |
getMetaData()
ResultSetMetaData を取得する。 |
java.lang.Object |
getObject(int columnIndex)
カレント行の指定されたカラムの値を
Object で取得する。 |
SqlRow |
getRow()
現在レコードのデータを取得する。
本メソッドでは、呼び出されるたびに
SqlRow を生成する。 |
java.lang.Short |
getShort(int columnIndex)
カレント行の指定されたカラムの値を
Short で取得する。
ResultSet.getShort(int) は、カラムの値がnull の場合は0 を返すが、
本メソッドではカラムの値がnull の場合はnull を返す。
カラムの値がShortに変換可能な場合は、Shortに変換し返却する。変換できない場合は、カラムの値を持つ新しいShortインスタンスを返却する。 |
SqlStatement |
getStatement()
Statementを取得する。
|
java.lang.String |
getString(int columnIndex)
カレント行の指定されたカラムの値を
String で取得する。 |
java.sql.Timestamp |
getTimestamp(int columnIndex)
カレント行の指定されたカラムの値を
Timestamp で取得する。 |
java.util.Iterator<SqlRow> |
iterator()
型Tの要素セットの反復子を返す。
|
boolean |
next()
ResultSet.next() を行う。 |
void |
setStatement(SqlStatement statement)
自身を生成した
SqlStatement を設定する。 |
public ResultSetIterator(java.sql.ResultSet rs, ResultSetConvertor convertor)
ResultSet
を保持するResultSetIteratorオブジェクトを生成する。rs
- ResultSetconvertor
- ResultSetConvertorpublic void setStatement(SqlStatement statement)
SqlStatement
を設定する。statement
- ステートメントpublic SqlStatement getStatement()
@Published public boolean next()
ResultSet.next()
を行う。true
、存在しない場合はfalse
DbAccessException
- SQLException
が発生した場合@Published public java.lang.Object getObject(int columnIndex)
Object
で取得する。columnIndex
- カラムインデックスDbAccessException
- SQLException
が発生した場合ResultSet.getObject(int)
@Published public java.lang.String getString(int columnIndex)
String
で取得する。columnIndex
- カラムインデックスDbAccessException
- SQLException
が発生した場合ResultSet.getString(int)
@Published public java.lang.Integer getInteger(int columnIndex)
Integer
で取得する。
ResultSet.getInt(int)
は、カラムの値がnull
の場合は0
を返すが、
本メソッドではカラムの値がnull
の場合はnull
を返す。
カラムの値がIntegerに変換可能な場合は、Integerに変換し返却する。columnIndex
- カラムインデックスjava.lang.NumberFormatException
- カラムの値をIntegerに変換できなかった場合getObject(int)
@Published public java.lang.Long getLong(int columnIndex)
Long
で取得する。
ResultSet.getLong(int)
は、カラムの値がnull
の場合は0
を返すが、
本メソッドではカラムの値がnull
の場合はnull
を返す。
カラムの値がLongに変換可能な場合は、Longに変換し返却する。columnIndex
- カラムインデックスjava.lang.NumberFormatException
- カラムの値をLongに変換できなかった場合getObject(int)
@Published public java.lang.Short getShort(int columnIndex)
Short
で取得する。
ResultSet.getShort(int)
は、カラムの値がnull
の場合は0
を返すが、
本メソッドではカラムの値がnull
の場合はnull
を返す。
カラムの値がShortに変換可能な場合は、Shortに変換し返却する。columnIndex
- カラムインデックスjava.lang.NumberFormatException
- カラムの値をShortに変換できなかった場合getObject(int)
@Published public java.math.BigDecimal getBigDecimal(int columnIndex)
BigDecimal
で取得する。columnIndex
- カラムインデックスDbAccessException
- SQLException
が発生した場合ResultSet.getBigDecimal(int)
@Published public java.util.Date getDate(int columnIndex)
Date
で取得する。columnIndex
- カラムインデックスDbAccessException
- SQLException
が発生した場合ResultSet.getDate(int)
@Published public java.sql.Timestamp getTimestamp(int columnIndex)
Timestamp
で取得する。columnIndex
- カラムインデックスDbAccessException
- SQLException
が発生した場合ResultSet.getTimestamp(int)
@Published public byte[] getBytes(int columnIndex)
columnIndex
- カラムインデックスDbAccessException
- SQLException
が発生した場合ResultSet.getBytes(int)
@Published public java.sql.Blob getBlob(int columnIndex)
Blob
で取得する。columnIndex
- カラムインデックスDbAccessException
- SQLException
が発生した場合ResultSet.getBlob(int)
@Published public SqlRow getRow()
SqlRow
を生成する。DbAccessException
- SQLException
が発生した場合@Published public void close()
ResultSet.close()
を行う。DbAccessException
- SQLException
が発生した場合ResultSet.close()
@Published(tag="architect") public java.sql.ResultSetMetaData getMetaData()
ResultSetMetaData
を取得する。@Published public java.util.Iterator<SqlRow> iterator()
iterator
in interface java.lang.Iterable<SqlRow>
java.lang.IllegalArgumentException
- 複数のメソッドから呼び出された場合