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.txt · 最終更新: 2023/05/16 13:35 by mikoto