如何使用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
相关产品推荐
相关产品推荐

