クラス BeanPropertyRowMapper<T>
- 型パラメーター:
T
- 結果の型
- 実装されたすべてのインターフェース:
FunctionSE<Readable,
T>
- 既知の直属サブクラス
DataClassRowMapper
Readable
( Row
または OutParameters
) を、指定されたマップされたターゲットクラスの新しいインスタンスに変換するマッピング Function
実装。マップされたターゲットクラスは、トップレベルクラスまたは static
ネストされたクラスである必要があり、デフォルトまたは引数なしのコンストラクターを持っている必要があります。Readable
コンポーネント値は、(R2DBC メタデータから取得された) 列名と、対応するプロパティのターゲットクラスのパブリック setter の一致に基づいてマップされます。名前は直接照合されるか、アンダースコアで区切られた部分を「キャメル」ケースを使用して同じ名前に変換することによって照合されます。
多くの一般的な型のターゲットクラスのプロパティにマッピングが提供されます。— 例: String、boolean、Boolean、byte、Byte、short、Short、int、Integer、long、Long、float、Float、double、Double、BigDecimal、java.util.Date
など。
一致する名前を持たない列とプロパティ間のマッピングを容易にするために、"select fname as first_name from customer"
のような SQL ステートメントで列エイリアスを使用してみてください。ここで、first_name
はターゲットクラスの setFirstName(String)
メソッドにマップできます。
データクラスコンストラクターを持つターゲットクラス (Java record
や Kotlin data
クラスなど) にマップする必要がある場合は、代わりに DataClassRowMapper
を使用します。
このクラスは、高パフォーマンスではなく利便性を提供するように設計されていることに注意してください。最高のパフォーマンスを得るには、カスタムマッピング関数実装の使用を検討してください。
- 導入:
- 6.1
- 作成者:
- Simon Basl é , Juergen Hoeller, Sam Brannen
- 関連事項:
コンストラクターのサマリー
コンストラクター説明BeanPropertyRowMapper
(ClassSE<T> mappedClass) 新しいBeanPropertyRowMapper
を作成します。BeanPropertyRowMapper
(ClassSE<T> mappedClass, ConversionService conversionService) 新しいBeanPropertyRowMapper
を作成します。メソッドのサマリー
修飾子と型メソッド説明protected T
constructMappedInstance
(Readable readable, ListSE<? extends ReadableMetadata> itemMetadatas, TypeConverter tc) 現在のReadable
のマップされたクラスのインスタンスを構築します。protected ObjectSE
getItemValue
(Readable readable, int itemIndex, ClassSE<?> paramType) 指定された項目インデックス (列または出力パラメーター) の R2DBC オブジェクト値を取得します。protected StringSE
lowerCaseName
(StringSE name) 指定された名前を小文字に変換します。protected void
suppressProperty
(StringSE propertyName) 指定されたプロパティをマップされたプロパティから削除します。protected StringSE
underscoreName
(StringSE name) camelCase の名前を小文字の下線付きの名前に変換します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース java.util.function.FunctionSE から継承されたメソッド
andThenSE, composeSE
コンストラクターの詳細
BeanPropertyRowMapper
新しいBeanPropertyRowMapper
を作成します。- パラメーター:
mappedClass
- 各行がマップされるクラス
BeanPropertyRowMapper
新しいBeanPropertyRowMapper
を作成します。- パラメーター:
mappedClass
- 各行がマップされるクラスconversionService
- 結果値を Bean プロパティにバインドするためのConversionService
メソッドの詳細
suppressProperty
指定されたプロパティをマップされたプロパティから削除します。- パラメーター:
propertyName
- プロパティ名 (プロパティ記述子で使用される)
lowerCaseName
指定された名前を小文字に変換します。デフォルトでは、変換は米国ロケール内で行われます。
- パラメーター:
name
- 元の名前- 戻り値:
- 変換された名前
underscoreName
camelCase の名前を小文字の下線付きの名前に変換します。大文字は、前にアンダースコアを付けて小文字に変換されます。
- パラメーター:
name
- 元の名前- 戻り値:
- 変換された名前
- 関連事項:
apply
現在のReadable
の値 (Row
の場合はすべての列、OutParameters
の場合はすべてのパラメーター) を抽出します。パブリック setter を利用し、具象型からメタデータを取得します。
- 次で指定:
- インターフェース
FunctionSE<Readable,
のT> applySE
- 例外:
IllegalArgumentExceptionSE
- 具象型がRow
でもOutParameters
でもない場合- 関連事項:
constructMappedInstance
protected T constructMappedInstance(Readable readable, ListSE<? extends ReadableMetadata> itemMetadatas, TypeConverter tc) 現在のReadable
のマップされたクラスのインスタンスを構築します。デフォルトの実装は、マップされたクラスを単純にインスタンス化します。サブクラスでオーバーライドできます。
- パラメーター:
readable
-Readable
がマッピングされています (Row
またはOutParameters
)itemMetadatas
- アイテム一覧ReadableMetadata
(ColumnMetadata
またはOutParameterMetadata
)tc
- この行マッパーの変換サービスを備えた TypeConverter- 戻り値:
- マップされたクラスの対応するインスタンス
getItemValue
指定された項目インデックス (列または出力パラメーター) の R2DBC オブジェクト値を取得します。デフォルトの実装では、
Readable.get(int, Class)
を呼び出し、例外が発生した場合はReadable.get(int)
にフォールバックします。サブクラスはこれをオーバーライドして、特定の値の型を事前にチェックしたり、get
から返された値を後処理したりできます。- パラメーター:
readable
- データを保持しているのはRow
またはOutParameters
ですitemIndex
- 列インデックスまたは出力パラメーターインデックスですparamType
- ターゲットパラメーター型- 戻り値:
- オブジェクト値
- 関連事項: