クラス SingleColumnRowMapper<T>
- 型パラメーター:
T
- 結果の型
- 実装されたすべてのインターフェース:
RowMapper<T>
RowMapper
実装。単一の列のみを含む java.sql.ResultSet
での操作を期待しています。 各行の結果値の型を指定できます。単一列の値は ResultSet
から抽出され、指定されたターゲット型に変換されます。
- 導入:
- 1.2
- 作成者:
- Juergen Hoeller, Kazuki Shimizu
- 関連事項:
コンストラクターのサマリー
コンストラクター説明Bean スタイルの構成用に新しいSingleColumnRowMapper
を作成します。SingleColumnRowMapper
(ClassSE<T> requiredType) 新しいSingleColumnRowMapper
を作成します。メソッドのサマリー
修飾子と型メソッド説明protected ObjectSE
convertValueToRequiredType
(ObjectSE value, ClassSE<?> requiredType) 指定された列の値を指定された必須の型に変換します。protected ObjectSE
getColumnValue
(ResultSetSE rs, int index) 最も適切な値型を使用して、指定された列の JDBC オブジェクト値を取得します。protected ObjectSE
getColumnValue
(ResultSetSE rs, int index, ClassSE<?> requiredType) 指定された列の JDBC オブジェクト値を取得します。mapRow
(ResultSetSE rs, int rowNum) 現在の行の単一の列の値を抽出します。static <T> SingleColumnRowMapper<T>
newInstance
(ClassSE<T> requiredType) 新しいSingleColumnRowMapper
を作成する静的ファクトリメソッド。static <T> SingleColumnRowMapper<T>
newInstance
(ClassSE<T> requiredType, ConversionService conversionService) 新しいSingleColumnRowMapper
を作成する静的ファクトリメソッド。void
setConversionService
(ConversionService conversionService) 取得した値を変換するためのConversionService
を設定します。void
setRequiredType
(ClassSE<T> requiredType) 各結果オブジェクトが一致すると予想される型を設定します。
コンストラクターの詳細
SingleColumnRowMapper
public SingleColumnRowMapper()Bean スタイルの構成用に新しいSingleColumnRowMapper
を作成します。SingleColumnRowMapper
新しいSingleColumnRowMapper
を作成します。- パラメーター:
requiredType
- 各結果オブジェクトが一致すると予想される型
メソッドの詳細
setRequiredType
各結果オブジェクトが一致すると予想される型を設定します。指定しない場合、JDBC ドライバーから返される列の値が公開されます。
setConversionService
取得した値を変換するためのConversionService
を設定します。デフォルトは
DefaultConversionService
です。- 導入:
- 5.0.4
- 関連事項:
mapRow
現在の行の単一の列の値を抽出します。列が 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
- データを保持している ResultSetindex
- 列インデックスですrequiredType
- 各結果オブジェクトが一致すると予想される型 (指定がない場合はnull
)- 戻り値:
- オブジェクト値
- 例外:
SQLExceptionSE
- 抽出に失敗した場合- 関連事項:
getColumnValue
最も適切な値型を使用して、指定された列の JDBC オブジェクト値を取得します。必要な型が指定されていない場合に呼び出されます。デフォルトの実装では、
ResultSet.getObject(index)
メソッドを使用するJdbcUtils.getResultSetValue()
に委譲します。さらに、Oracle が TIMESTAMP データ型の非標準オブジェクトを返すのを回避するための「ハック」が含まれています。詳細については、JdbcUtils#getResultSetValue()
javadoc を参照してください。- パラメーター:
rs
- データを保持している ResultSetindex
- 列インデックスです- 戻り値:
- オブジェクト値
- 例外:
SQLExceptionSE
- 抽出に失敗した場合- 関連事項:
convertValueToRequiredType
指定された列の値を指定された必須の型に変換します。抽出された列の値がまだ一致しない場合にのみ呼び出されます。必要な型が String の場合、値は単に
toString()
を介して文字列化されます。数値の場合、値は数値変換または文字列解析(値の型に応じて)によって数値に変換されます。それ以外の場合、値はConversionService
を使用して必要な型に変換されます。- パラメーター:
value
-getColumnValue()
から抽出された列値 (非null
)requiredType
- 各結果オブジェクトが一致すると予想される型 (非null
)- 戻り値:
- 変換された値
- 関連事項:
newInstance
新しい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
- 関連事項: