Class ResultSetIterator

java.lang.Object
nablarch.core.db.statement.ResultSetIterator
All Implemented Interfaces:
Iterable<SqlRow>

public class ResultSetIterator extends Object implements Iterable<SqlRow>
ResultSetのWrapperクラス。

本クラスでは、ResultSetから1行分のデータをSqlRowで取得するインタフェースを提供する。 以下に例を示す。
 ResultSetIterator rs = statement.executeQuery();
 // for-each文を使って、1レコード文のデータを取得する。
 for (SqlRow row : rs) {
     // SqlRowから各カラムの値を取得し必要な処理を行う。
 }
 
See Also:
  • Constructor Details

    • ResultSetIterator

      public ResultSetIterator(ResultSet rs, ResultSetConvertor convertor)
      パラメータで指定されたResultSetを保持するResultSetIteratorオブジェクトを生成する。
      Parameters:
      rs - ResultSet
      convertor - ResultSetConvertor
  • Method Details

    • setStatement

      public void setStatement(SqlStatement statement)
      自身を生成したSqlStatementを設定する。
      Parameters:
      statement - ステートメント
    • getStatement

      public SqlStatement getStatement()
      Statementを取得する。
      Returns:
      この結果セットを生成したStatement
    • next

      @Published public boolean next()
      ResultSet.next() を行う。
      Returns:
      次のレコードが存在する場合はtrue、存在しない場合はfalse
      Throws:
      DbAccessException - SQLExceptionが発生した場合
    • getObject

      @Published public Object getObject(int columnIndex)
      カレント行の指定されたカラムの値をObjectで取得する。
      Parameters:
      columnIndex - カラムインデックス
      Returns:
      カラムの値
      Throws:
      DbAccessException - SQLExceptionが発生した場合
      See Also:
    • getString

      @Published public String getString(int columnIndex)
      カレント行の指定されたカラムの値をStringで取得する。
      Parameters:
      columnIndex - カラムインデックス
      Returns:
      カラムの値
      Throws:
      DbAccessException - SQLExceptionが発生した場合
      See Also:
    • getInteger

      @Published public Integer getInteger(int columnIndex)
      カレント行の指定されたカラムの値をIntegerで取得する。

      ResultSet.getInt(int)は、カラムの値がnullの場合は0を返すが、 本メソッドではカラムの値がnullの場合はnullを返す。

      カラムの値がIntegerに変換可能な場合は、Integerに変換し返却する。
      変換できない場合は、カラムの値を持つ新しいIntegerインスタンスを返却する。

      Parameters:
      columnIndex - カラムインデックス
      Returns:
      カラムの値
      Throws:
      NumberFormatException - カラムの値をIntegerに変換できなかった場合
      See Also:
    • getLong

      @Published public Long getLong(int columnIndex)
      カレント行の指定されたカラムの値をLongで取得する。

      ResultSet.getLong(int)は、カラムの値がnullの場合は0を返すが、 本メソッドではカラムの値がnullの場合はnullを返す。

      カラムの値がLongに変換可能な場合は、Longに変換し返却する。
      変換できない場合は、カラムの値を持つ新しいLongインスタンスを返却する。

      Parameters:
      columnIndex - カラムインデックス
      Returns:
      カラムの値
      Throws:
      NumberFormatException - カラムの値をLongに変換できなかった場合
      See Also:
    • getShort

      @Published public Short getShort(int columnIndex)
      カレント行の指定されたカラムの値をShortで取得する。

      ResultSet.getShort(int)は、カラムの値がnullの場合は0を返すが、 本メソッドではカラムの値がnullの場合はnullを返す。

      カラムの値がShortに変換可能な場合は、Shortに変換し返却する。
      変換できない場合は、カラムの値を持つ新しいShortインスタンスを返却する。

      Parameters:
      columnIndex - カラムインデックス
      Returns:
      カラムの値
      Throws:
      NumberFormatException - カラムの値をShortに変換できなかった場合
      See Also:
    • getBigDecimal

      @Published public BigDecimal getBigDecimal(int columnIndex)
      カレント行の指定されたカラムの値をBigDecimalで取得する。
      Parameters:
      columnIndex - カラムインデックス
      Returns:
      カラムの値
      Throws:
      DbAccessException - SQLExceptionが発生した場合
      See Also:
    • getDate

      @Published public Date getDate(int columnIndex)
      カレント行の指定されたカラムの値をDateで取得する。
      Parameters:
      columnIndex - カラムインデックス
      Returns:
      カラムの値
      Throws:
      DbAccessException - SQLExceptionが発生した場合
      See Also:
    • getTimestamp

      @Published public Timestamp getTimestamp(int columnIndex)
      カレント行の指定されたカラムの値をTimestampで取得する。
      Parameters:
      columnIndex - カラムインデックス
      Returns:
      カラムの値
      Throws:
      DbAccessException - SQLExceptionが発生した場合
      See Also:
    • getBytes

      @Published public byte[] getBytes(int columnIndex)
      カレント行の指定されたカラムの値をbyte配列で取得する。
      Parameters:
      columnIndex - カラムインデックス
      Returns:
      カラムの値
      Throws:
      DbAccessException - SQLExceptionが発生した場合
      See Also:
    • getBlob

      @Published public Blob getBlob(int columnIndex)
      カレント行の指定されたカラムの値をBlobで取得する。
      Parameters:
      columnIndex - カラムインデックス
      Returns:
      カラムの値
      Throws:
      DbAccessException - SQLExceptionが発生した場合
      See Also:
    • getRow

      @Published public SqlRow getRow()
      現在レコードのデータを取得する。

      本メソッドでは、呼び出されるたびにSqlRowを生成する。

      Returns:
      現在レコードを保持したSqlRow
      Throws:
      DbAccessException - SQLExceptionが発生した場合
    • close

      @Published public void close()
      ResultSet.close()を行う。
      Throws:
      DbAccessException - SQLExceptionが発生した場合
      See Also:
    • getMetaData

      @Published(tag="architect") public ResultSetMetaData getMetaData()
      ResultSetMetaDataを取得する。
      Returns:
      ResultSetMetaDataオブジェクト
    • iterator

      @Published public Iterator<SqlRow> iterator()
      型Tの要素セットの反復子を返す。
      Specified by:
      iterator in interface Iterable<SqlRow>
      Returns:
      反復子
      Throws:
      IllegalArgumentException - 複数のメソッドから呼び出された場合