Komapperの紹介|概要
サーバサイドKotlinのためのORM
PostgreSQLなど代表的な6つのRDBMSに対応
@KomapperEntity
data class Address(@KomapperId val id: Int = 0, val street: String)
fun main() {
// データベースを表すオブジェクトの⽣成
val db = JdbcDatabase(“jdbc:h2:mem:example;DB_CLOSE_DELAY=-1”)
// Addressを1件返すクエリの構築: select t0_.ID, t0_.STREET from ADDRESS as t0_ where t0_.ID = 1
val query: Query
= QueryDsl.from(Meta.address).where { Meta.address.id eq 1 } .first()
// クエリの実⾏
val address: Address = db.runQuery(query)
}
3
エンティティクラス
利⽤例
class _Address { … }
val Meta.address get() = _Address….
エンティティクラスのメタモデル
コンパイル時に⽣成