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