@@ -12,10 +12,10 @@ KRowMapper
12
12
13
13
## デモコード
14
14
手動でマッピングコードを書いた場合と` KRowMapper ` を用いた場合を比較します。
15
- 手動で書く場合フィールド件数が多ければ多いほど記述がかさみますが 、` KRowMapper ` を用いることで殆どコードを書かずにマッピングを行えます。
15
+ 手動で書く場合引数が多ければ多いほど記述がかさみますが 、` KRowMapper ` を用いることで殆どコードを書かずにマッピングを行えます。
16
16
また、外部の設定ファイルは一切必要ありません。
17
17
18
- ただし、フィールドの命名規則とDBのカラムの命名規則が異なる場合は命名変換関数を渡す必要が有る点にご注意ください (後述)。
18
+ ただし、引数の命名規則とDBのカラムの命名規則が異なる場合は命名変換関数を渡す必要が有る点にご注意ください (後述)。
19
19
20
20
``` kotlin
21
21
// マップ対象クラス
@@ -90,7 +90,7 @@ val dst: Dst = jdbcTemplate.query(query, KRowMapper(::Dst, /* 必要に応じた
90
90
` KRowMapper ` は呼び出し対象の` method reference(KFunction) ` 、またはマッピング先の` KClass ` から初期化できます。
91
91
よりプレーンな` Kotlin ` に近い書き方をしたい場合には、呼び出し対象メソッドで全ての初期化処理を書くことをお勧めします。
92
92
93
- また、` KRowMapper ` はデフォルトではフィールドの命名によってカラムとの対応を見るため、「フィールドがキャメルケースでカラムはスネークケース 」というような場合、パラメータ名を変換する関数も渡す必要が有ります 。
93
+ また、` KRowMapper ` はデフォルトでは引数名によってカラムとの対応を見るため、「引数がキャメルケースでカラムはスネークケース 」というような場合、引数名を変換する関数も渡す必要が有ります 。
94
94
95
95
### method reference(KFunction)からの初期化
96
96
` KRowMapper ` は` method reference ` から初期化できます。
@@ -157,7 +157,7 @@ val mapper: KRowMapper<Dst> = KRowMapper(Dst::class)
157
157
```
158
158
159
159
### パラメータ名の変換
160
- ` KRowMapper ` は、デフォルトではフィールド名に対応するカラムをそのまま探すという挙動になります 。
160
+ ` KRowMapper ` は、デフォルトでは引数名に対応するカラムをそのまま探すという挙動になります 。
161
161
162
162
``` kotlin
163
163
data class Dst (
@@ -179,7 +179,7 @@ val rowMapper: RowMapper<Dst> = { rs, _ ->
179
179
}
180
180
```
181
181
182
- 一方、フィールドの命名規則がキャメルケースかつDBのカラムの命名規則がスネークケースというような場合 、このままでは一致を見ることができません。
182
+ 一方、引数の命名規則がキャメルケースかつDBのカラムの命名規則がスネークケースというような場合 、このままでは一致を見ることができません。
183
183
このような状況では` KRowMapper ` の初期化時に命名変換関数を渡す必要が有ります。
184
184
185
185
``` kotlin
@@ -359,7 +359,7 @@ data class InnerDst(val fooFoo: Int, val barBar: String)
359
359
data class Dst (val bazBaz : InnerDst , val quxQux : LocalDateTime )
360
360
```
361
361
362
- ` DB ` のカラム名がスネークケースであり、フィールド名をプレフィックスに指定する場合 、以下のように付与します。
362
+ ` DB ` のカラム名がスネークケースであり、引数名をプレフィックスに指定する場合 、以下のように付与します。
363
363
ここで、` KParameterFlatten ` を指定されたクラスは、前述の` KConstructor ` アノテーションで指定した関数またはプライマリコンストラクタから初期化されます。
364
364
365
365
``` kotlin
@@ -379,7 +379,7 @@ val mapper: KRowMapper<Dst> = KRowMapper(Dst::class) { /* キャメル -> スネ
379
379
380
380
** fieldNameToPrefix**
381
381
` KParameterFlatten ` アノテーションはデフォルトでは引数名をプレフィックスに置いた名前で一致を見ようとします。
382
- フィールド名をプレフィックスに付けたくない場合は ` fieldNameToPrefix ` オプションに` false ` を指定します。
382
+ 引数名をプレフィックスに付けたくない場合は ` fieldNameToPrefix ` オプションに` false ` を指定します。
383
383
384
384
``` kotlin
385
385
data class InnerDst (val fooFoo : Int , val barBar : String )
@@ -396,5 +396,5 @@ val mapper: KRowMapper<Dst> = KRowMapper(Dst::class) { /* キャメル -> スネ
396
396
` fieldNameToPrefix = false ` を指定した場合、` nameJoiner ` オプションは無視されます。
397
397
398
398
** nameJoiner**
399
- ` nameJoiner ` はパラメータ名とパラメータ名の結合方法の指定で 、デフォルトでは` camelCase ` が指定されており、` snake_case ` と` kebab-case ` のサポートも有ります。
399
+ ` nameJoiner ` は引数名と引数名の結合方法の指定で 、デフォルトでは` camelCase ` が指定されており、` snake_case ` と` kebab-case ` のサポートも有ります。
400
400
` NameJoiner ` クラスを継承した` object ` を作成することで自作することもできます。
0 commit comments