ユーザ用ツール

サイト用ツール


kotlin:cases:jdbctemplate

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

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