====== KotlinでSQLクエリを実行して取得したリストを参照する ====== [[:kotlin|一つ上の階層へ]] fun function(): List { 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") }