🦁
jOOQ公式Gradleプラグインを使ってコード生成
jOOQ 3.19から、公式のGradleプラグインが提供された。今回は、そのプラグインを使ってコード生成を試す。
環境
- jOOQ: 3.19.11
- PostgreSQL: 15
Gradleの設定
以下は、jOOQを使用してコード生成を行うための最低限の設定。
kotlin
plugins {
kotlin("jvm") version "2.0.10"
+ id("org.jooq.jooq-codegen-gradle") version "3.19.11"
}
group = "org.example"
version = "1.0-SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
+ implementation("org.jooq:jooq:3.19.11")
+ implementation("org.jooq:jooq-meta:3.19.11")
+ implementation("org.jooq:jooq-codegen:3.19.11")
+ implementation("org.jooq:jooq-postgres-extensions:3.19.11")
+ runtimeOnly("org.postgresql:postgresql:42.7.4")
+ jooqCodegen("org.postgresql:postgresql:42.7.4")
testImplementation(kotlin("test"))
}
tasks.test {
useJUnitPlatform()
}
kotlin {
jvmToolchain(21)
}
+sourceSets.main {
+ java.srcDirs("build/generated-sources/jooq")
+}
+jooq {
+ configuration {
+
+ jdbc {
+ driver = "org.postgresql.Driver"
+ url = "jdbc:postgresql://localhost:5432/postgres"
+ user = "postgres"
+ password = "password"
+ }
+ generator {
+ database {
+ name = "org.jooq.meta.postgres.PostgresDatabase"
+ inputSchema = "public"
+ includes = ".*"
+ }
+
+ target {
+ packageName = "org.example.db"
+ }
+ }
+ }
+}
コード生成
以下のコマンドを実行して、コードを生成する
./gradlew :jooqCodegen
指定したパスにコードが生成されていることを確認する
デフォルトだと build/generated-sources
に生成される
$ tree build/generated-sources
build/generated-sources
└── jooq
└── org
└── example
└── db
├── DefaultCatalog.java
├── Keys.java
├── Public.java
├── Tables.java
└── tables
├── Users.java
└── records
└── UsersRecord.java
Discussion