クラス SingleColumnRowMapper<T>

java.lang.ObjectSE
org.springframework.jdbc.core.SingleColumnRowMapper<T>
型パラメーター:
T - 結果の型
実装されたすべてのインターフェース:
RowMapper<T>

public class SingleColumnRowMapper<T> extends ObjectSE implements RowMapper<T>
単一の列を行ごとに単一の結果値に変換する RowMapper 実装。単一の列のみを含む java.sql.ResultSet での操作を期待しています。

各行の結果値の型を指定できます。単一列の値は ResultSet から抽出され、指定されたターゲット型に変換されます。

導入:
1.2
作成者:
Juergen Hoeller, Kazuki Shimizu
関連事項:
  • コンストラクターの詳細

    • SingleColumnRowMapper

      public SingleColumnRowMapper()
      Bean スタイルの構成用に新しい SingleColumnRowMapper を作成します。
      関連事項:
    • SingleColumnRowMapper

      public SingleColumnRowMapper(ClassSE<T> requiredType)
      新しい SingleColumnRowMapper を作成します。
      パラメーター:
      requiredType - 各結果オブジェクトが一致すると予想される型
  • メソッドの詳細

    • setRequiredType

      public void setRequiredType(ClassSE<T> requiredType)
      各結果オブジェクトが一致すると予想される型を設定します。

      指定しない場合、JDBC ドライバーから返される列の値が公開されます。

    • setConversionService

      public void setConversionService(@Nullable ConversionService conversionService)
      取得した値を変換するための ConversionService を設定します。

      デフォルトは DefaultConversionService です。

      導入:
      5.0.4
      関連事項:
    • mapRow

      @Nullable public T mapRow(ResultSetSE rs, int rowNum) throws SQLExceptionSE
      現在の行の単一の列の値を抽出します。

      列が 1 つだけ選択されていることを検証し、必要に応じて getColumnValue() および convertValueToRequiredType にも委譲します。

      次で指定:
      インターフェース RowMapper<T>mapRow 
      パラメーター:
      rs - マップする ResultSet (現在の行に対して事前に初期化済み)
      rowNum - 現在の行の番号
      戻り値:
      現在の行の結果オブジェクト (null の場合があります)
      例外:
      SQLExceptionSE - 列値の取得中に SQLException が発生した場合 (つまり、SQLException をキャッチする必要はありません。)
      関連事項:
    • getColumnValue

      @Nullable protected ObjectSE getColumnValue(ResultSetSE rs, int index, @Nullable ClassSE<?> requiredType) throws SQLExceptionSE
      指定された列の JDBC オブジェクト値を取得します。

      デフォルトの実装は JdbcUtils.getResultSetValue(java.sql.ResultSet, int, Class) を呼び出します。必要な型が指定されていない場合、このメソッドは getColumnValue(rs, index) に委譲します。これは基本的に ResultSet.getObject(index) を呼び出しますが、適切な値型にいくつかの追加のデフォルト変換を適用します。

      パラメーター:
      rs - データを保持している ResultSet
      index - 列インデックスです
      requiredType - 各結果オブジェクトが一致すると予想される型 (指定がない場合は null )
      戻り値:
      オブジェクト値
      例外:
      SQLExceptionSE - 抽出に失敗した場合
      関連事項:
    • getColumnValue

      @Nullable protected ObjectSE getColumnValue(ResultSetSE rs, int index) throws SQLExceptionSE
      最も適切な値型を使用して、指定された列の JDBC オブジェクト値を取得します。必要な型が指定されていない場合に呼び出されます。

      デフォルトの実装では、ResultSet.getObject(index) メソッドを使用する JdbcUtils.getResultSetValue() に委譲します。さらに、Oracle が TIMESTAMP データ型の非標準オブジェクトを返すのを回避するための「ハック」が含まれています。詳細については、JdbcUtils#getResultSetValue() javadoc を参照してください。

      パラメーター:
      rs - データを保持している ResultSet
      index - 列インデックスです
      戻り値:
      オブジェクト値
      例外:
      SQLExceptionSE - 抽出に失敗した場合
      関連事項:
    • convertValueToRequiredType

      @Nullable protected ObjectSE convertValueToRequiredType(ObjectSE value, ClassSE<?> requiredType)
      指定された列の値を指定された必須の型に変換します。抽出された列の値がまだ一致しない場合にのみ呼び出されます。

      必要な型が String の場合、値は単に toString() を介して文字列化されます。数値の場合、値は数値変換または文字列解析(値の型に応じて)によって数値に変換されます。それ以外の場合、値は ConversionService を使用して必要な型に変換されます。

      パラメーター:
      value - getColumnValue() から抽出された列値 (非 null)
      requiredType - 各結果オブジェクトが一致すると予想される型 (非 null)
      戻り値:
      変換された値
      関連事項:
    • newInstance

      public static <T> SingleColumnRowMapper<T> newInstance(ClassSE<T> requiredType)
      新しい SingleColumnRowMapper を作成する静的ファクトリメソッド。
      パラメーター:
      requiredType - 各結果オブジェクトが一致すると予想される型
      導入:
      4.1
      関連事項:
    • newInstance

      public static <T> SingleColumnRowMapper<T> newInstance(ClassSE<T> requiredType, @Nullable ConversionService conversionService)
      新しい SingleColumnRowMapper を作成する静的ファクトリメソッド。
      パラメーター:
      requiredType - 各結果オブジェクトが一致すると予想される型
      conversionService - フェッチされた値を変換する場合は ConversionService、なしの場合は null 
      導入:
      5.0.4
      関連事項: