ユーザ用ツール

サイト用ツール


kotlin:cases:jooq_sql_map

文書の過去の版を表示しています。


KotlinでSQLクエリを実行して取得したリストを参照する

一つ上の階層へ

  fun function(): List<//data class//> {
    return dsl
      .select(
        column1,
        column2,
        ...
      )
      .from(//table1//)
      .leftOuterJoin(//table2//)
      .on(Tables1.column_x.eq(Tables2.column_y))
      .where(Tables1.columnM.eq(xxx))
      .and(//condition2//)
      .fetch().map {
          DataClass(
            it[Tables1.column4],
            it[Tables1.column6],...
            )
          )
      }.filterNotNull()
  }

KotlinのJooqによるクエリで fetch() メソッドで取得したリストは、Jooqの Record クラスのオブジェクトのリストであり、各 Record オブジェクトはテーブルの各カラムに対応するフィールドを持っている。 各カラムの値を取得するにはgetValue()メソッドを使用する。

val resultList = create.select().from(TABLE_NAME).fetch().map { it }
 
resultList.forEach { 
    val id = it.getValue(ID) // IDカラムの値を取得する
    val name = it.getValue(NAME) // NAMEカラムの値を取得する
    val age = it.getValue(AGE) // AGEカラムの値を取得する
    println("id: $id, name: $name, age: $age")
}
kotlin/cases/jooq_sql_map.1684210534.txt.gz · 最終更新: 2023/05/16 13:15 by mikoto