kotlin:cases:jdbctemplate
差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| kotlin:cases:jdbctemplate [2023/08/04 17:13] – 作成 mikoto | kotlin:cases:jdbctemplate [2023/08/04 17:39] (現在) – mikoto | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== JDBC テンプレートでレコードを取得して使う ====== | ====== JDBC テンプレートでレコードを取得して使う ====== | ||
| <code kotlin> | <code kotlin> | ||
| + | |||
| + | params = mapOf ( | ||
| + | " | ||
| + | " | ||
| + | ) | ||
| + | |||
| jdbcTemplate.queryForStream(getSql(), | jdbcTemplate.queryForStream(getSql(), | ||
| val rowData = mutableListOf< | val rowData = mutableListOf< | ||
| 行 11: | 行 17: | ||
| | | ||
| rowData // 1行のデータをキーと値のペアのリストとして返す | rowData // 1行のデータをキーと値のペアのリストとして返す | ||
| + | }.use { stream -> | ||
| + | // クエリの結果ストリームを完了させるために、useを使用してストリームを消費する | ||
| + | stream.forEach { row -> | ||
| + | val id = row.firstOrNull { it.first == " | ||
| + | val name = row.firstOrNull { it.first == " | ||
| + | // 他のカラムを適宜参照 | ||
| + | | ||
| + | // ここで得られたデータを処理する | ||
| + | processRowData(id, | ||
| + | } | ||
| } | } | ||
| + | </ | ||
| + | |||
| + | ここで、firstOrNullはコレクション(リストや配列など)から最初に条件を満たす要素を取得する関数です。条件を満たす要素が見つからない場合はnullを返します。 | ||
| + | .firstと.secondは**Pair**クラスのメソッドで、キーと値のペアからそれぞれキーまたは値を取得するために使用される。 | ||
| + | <code kotlin> | ||
| + | // Pair の first と second の使用例 | ||
| + | val pair: Pair< | ||
| + | val key: String = pair.first // キーを取得 | ||
| + | val value: Any? = pair.second // 値を取得 | ||
| </ | </ | ||
kotlin/cases/jdbctemplate.1691136817.txt.gz · 最終更新: 2023/08/04 17:13 by mikoto