Skip to content
This repository was archived by the owner on Jan 20, 2023. It is now read-only.

Commit 4b230ce

Browse files
committed
README修正
1 parent 57a486f commit 4b230ce

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

README.ja.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@ val dst: Dst = jdbcTemplate.query(query, KRowMapper(::Dst, /* 必要に応じた
9898

9999
また、`KRowMapper`はデフォルトでは引数名によってカラムとの対応を見るため、「引数がキャメルケースでカラムはスネークケース」というような場合、引数名を変換する関数も渡す必要が有ります。
100100

101+
必要に応じて値の変換のために`ConversionService`を渡すこともできます。
102+
渡さなかった場合、`DefaultConversionService.sharedInstance`がデフォルトとして利用されます。
103+
101104
### method reference(KFunction)からの初期化
102105
`KRowMapper``method reference`から初期化できます。
103106

@@ -230,13 +233,16 @@ val mapper: KRowMapper<Dst> = KRowMapper(::Dst, parameterNameConverter)
230233
ただし、よりプレーンな`Kotlin`に近い書き方をしたい場合にはこれらの機能を用いず、呼び出し対象メソッドで全ての初期化処理を書くことをお勧めします。
231234

232235
### 値のデシリアライズ
233-
`KRowMapper``java.sql.ResultSet`から値の取得を行うため、デフォルトではこの実装でサポートされていない型を取得することはできません。
234-
この問題に対応するため、`KRowMapper`ではデフォルトの変換機能に加え以下の3種類のデシリアライズ方法を提供しています。
236+
`KRowMapper``BeanPropertyRowMapper`同様`ConversionService`(デフォルトでは`DefaultConversionService.sharedInstance`)を用いたデシリアライズをサポートしています。
237+
238+
これに加え、より明示的で柔軟性の高いデシリアライズ方法として、`KRowMapper`では以下の3種類のデシリアライズ方法を提供しています。
235239

236240
1. `KColumnDeserializer`アノテーションを利用したデシリアライズ
237241
2. デシリアライズアノテーションを自作してのデシリアライズ
238242
3. 複数引数からのデシリアライズ
239243

244+
これらのデシリアライズ方法は`ConversionService`によるデシリアライズより優先的に適用されます。
245+
240246
#### KColumnDeserializerアノテーションを利用したデシリアライズ
241247
自作のクラスで、かつ単一引数から初期化できる場合、`KColumnDeserializer`アノテーションを用いたデシリアライズが利用できます。
242248
`KColumnDeserializer`アノテーションは、コンストラクタ、もしくは`companion object`に定義したファクトリーメソッドに対して付与できます。
@@ -470,6 +476,3 @@ class Foo(
470476
val description: String = ""
471477
)
472478
```
473-
474-
#### Enumをデシリアライズする
475-
DBに格納された値と`Enum::name`プロパティが一致する場合、特別な記述無しに`Enum`をデシリアライズすることができます。

0 commit comments

Comments
 (0)