You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Gradle生成jOOQ Schema,已有配置代码求实现方案

Gradle 生成 jOOQ Schema 操作流程

1. 引入所需插件与依赖

在项目的build.gradle配置文件中添加jOOQ代码生成插件和对应依赖,注意jOOQ版本要和你项目实际使用的版本保持一致:

plugins {
    id 'java'
    // 替换为你实际使用的jOOQ版本号
    id 'org.jooq.jooq-codegen-gradle' version '3.19.10'
}

dependencies {
    // 代码生成阶段依赖
    jooqCodegen 'org.jooq:jooq-meta:3.19.10'
    jooqCodegen 'org.jooq:jooq-codegen:3.19.10'
    // MySQL驱动,版本和你数据库版本匹配即可
    jooqCodegen 'mysql:mysql-connector-java:8.0.33'
    
    // 项目运行所需jOOQ依赖,可根据自己的需求调整
    implementation 'org.jooq:jooq:3.19.10'
}

2. 整合你已有的配置到jOOQ生成规则

在build.gradle中添加jOOQ代码生成的配置块,直接复用你编写的JDBC和Schema映射规则即可,注意删除重复的hosting_new映射条目避免生成重复代码:

jooq {
    configuration {
        // 你已有的JDBC配置
        jdbc {
            driver = 'com.mysql.cj.jdbc.Driver'
            url = 'jdbc:mysql://localhost/ztbl'
            user = '你的数据库账号'
            password = '你的数据库密码'
        }
        generator {
            // 你已有的Database配置
            database {
                name = 'org.jooq.meta.mysql.MySQLDatabase'
                schemata {
                    schema {
                        inputSchema = 'ztbl'
                        outputSchema = 'bpc'
                    }
                    schema {
                        inputSchema = 'tes_inbound'
                        outputSchema = 'ib'
                    }
                    schema {
                        inputSchema = 'tesoutbound'
                        outputSchema = 'ob'
                    }
                    schema {
                        inputSchema = 'tesob_calling'
                        outputSchema = 'obcall'
                    }
                    schema {
                        inputSchema = 'hosting'
                        outputSchema = 'cms'
                    }
                    schema {
                        inputSchema = 'hosting_new'
                        outputSchema = 'cmm'
                    }
                }
                // 可选配置:指定要生成/排除的表,这里默认全量生成,排除flyway版本表
                includes = '.*'
                excludes = 'flyway_schema_history'
            }
            // 生成代码的路径配置
            target {
                // 替换为你要存放生成代码的包路径
                packageName = 'com.your.project.jooq'
                // 生成代码默认存放在build下的generated目录,无需修改
                directory = layout.buildDirectory.dir('generated/sources/jooq').get().asFile.absolutePath
            }
        }
    }
}

3. 执行生成任务

配置完成后可以通过两种方式触发代码生成:

  • 命令行执行:Mac/Linux系统运行 ./gradlew jooqCodegen,Windows系统运行 gradlew.bat jooqCodegen
  • IDE触发:在IDEA的Gradle侧边栏中找到 Tasks > jooq > jooqCodegen 双击运行即可

4. 后续配置

生成的代码默认存放在build/generated/sources/jooq目录下,需要在IDEA中右键该目录,选择 Mark Directory as > Generated Sources Root,标记为源代码根目录后就可以在项目中正常引用生成的jOOQ类了。


内容的提问来源于stack exchange,提问作者yasir khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 02:54:03