可用版本: Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11

代码生成

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

虽然是可选的,但源代码生成是 jOOQ 的主要优势之一,如果您希望提高开发人员的生产力。 jOOQ 的代码生成器会获取您的数据库模式,并将其反向工程为一组 Java 类,这些类对记录序列POJODAO存储过程、用户定义类型等等进行建模。

源代码生成背后的基本思想如下

  • 增强的 IDE 支持:直接针对数据库模式键入您的 Java 代码,所有类型信息均可用
  • 类型安全:当您的数据库模式发生更改时,您生成的代码也会更改。删除列将导致编译错误,您可以尽早发现这些错误。

以下章节将展示如何配置代码生成器以及如何生成各种工件。

目录

5.1.
生成器的配置和设置
5.2.
高级生成器配置
5.2.1.
日志记录
5.2.2.
错误处理
5.2.3.
Jdbc
5.2.4.
生成器
5.2.5.
数据库
5.2.5.1.
数据库名称和属性
5.2.5.2.
内联数据库实现
5.2.5.3.
RegexFlags
5.2.5.4.
包含和排除
5.2.5.5.
包含对象类型
5.2.5.6.
记录版本和时间戳字段
5.2.5.7.
注释
5.2.5.8.
合成对象
5.2.5.8.1.
合成列
5.2.5.8.2.
合成只读列
5.2.5.8.3.
合成只读 ROWID
5.2.5.8.4.
合成标识
5.2.5.8.5.
合成默认值 (新)
5.2.5.8.6.
合成枚举
5.2.5.8.7.
合成主键
5.2.5.8.8.
合成唯一键
5.2.5.8.9.
合成外键
5.2.5.8.10.
合成同义词 (新)
5.2.5.9.
日期作为时间戳
5.2.5.10.
忽略过程返回值(已弃用)
5.2.5.11.
隐藏列 (新)
5.2.5.12.
只读列
5.2.5.13.
无符号类型
5.2.5.14.
目录和模式映射
5.2.5.15.
目录和模式版本提供程序
5.2.5.16.
生成代码的自定义排序
5.2.5.17.
强制类型
5.2.5.17.1.
强制类型匹配
5.2.5.17.2.
数据类型重写
5.2.5.17.3.
限定转换器
5.2.5.17.4.
内联转换器
5.2.5.17.5.
Lambda 转换器
5.2.5.17.6.
自动转换器
5.2.5.17.7.
枚举转换器
5.2.5.17.8.
Jackson 转换器
5.2.5.17.9.
JAXB 转换器
5.2.5.17.10.
数据类型绑定
5.2.5.17.11.
客户端计算列
5.2.5.17.12.
审计列
5.2.5.17.13.
隐藏列 (新)
5.2.5.17.14.
可见性修饰符(每个强制类型)
5.2.5.18.
表值函数
5.2.6.
生成
5.2.6.1.
注解
5.2.6.2.
协变重写
5.2.6.2.1.
覆盖 as()
5.2.6.2.2.
重写 rename()
5.2.6.2.3.
覆盖 where()
5.2.6.3.
默认目录和模式
5.2.6.4.
扩展类型
5.2.6.5.
Fluent setters
5.2.6.6.
完全限定类型
5.2.6.7.
全局工件
5.2.6.8.
全局对象名称
5.2.6.9.
隐式 JOIN 路径
5.2.6.10.
Java 时间类型
5.2.6.11.
序列化版本 UID
5.2.6.12.
Sources
5.2.6.13.
文本块
5.2.6.14.
可见性修饰符(全局)
5.2.6.15.
空格(换行和缩进)
5.2.6.16.
零刻度十进制类型
5.2.7.
输出目标配置
5.3.
自定义代码段
5.4.
生成的对象类型
5.4.1.
生成的表
5.4.2.
生成的记录
5.4.3.
生成的 POJO
5.4.4.
生成的接口
5.4.5.
生成的 DAO
5.4.6.
生成的序列
5.4.7.
生成的同义词
5.4.8.
生成的存储过程
5.4.9.
生成的域
5.4.10.
生成的 UDT
5.4.11.
生成的触发器
5.4.12.
生成的全局工件
5.5.
类名、方法名、标识符
5.5.1.
自定义生成器策略
5.5.2.
匹配器策略
5.5.2.1.
MatcherRule
5.5.2.2.
匹配目录
5.5.2.3.
匹配模式
5.5.2.4.
匹配表
5.5.2.5.
匹配字段
5.5.2.6.
匹配索引
5.5.2.7.
匹配主键
5.5.2.8.
匹配唯一键
5.5.2.9.
匹配外键
5.5.2.10.
匹配例程
5.5.2.11.
匹配序列
5.5.2.12.
匹配枚举
5.5.2.13.
匹配可嵌入项
5.5.2.14.
匹配 UDT
5.5.2.15.
匹配属性
5.5.2.16.
匹配器示例
5.6.
代码生成扩展
5.6.1.
PostgreSQL 扩展
5.7.
可嵌入类型
5.7.1.
配置
5.7.2.
重叠的可嵌入类型
5.7.3.
字段替换
5.7.4.
嵌入式键
5.7.5.
嵌入式域
5.8.
映射生成的目录和模式
5.9.
替代元数据源
5.9.1.
JPADatabase:从实体生成代码
5.9.2.
XMLDatabase:从 XML 文件生成代码
5.9.3.
DDLDatabase:从 SQL 文件生成代码
5.9.4.
LiquibaseDatabase:从 Liquibase XML、YAML、JSON 文件生成代码
5.10.
替代输出语言
5.10.1.
XMLGenerator:生成 XML
5.10.2.
KotlinGenerator
5.10.3.
ScalaGenerator 和 Scala3Generator
5.11.
代码生成执行
5.11.1.
使用 Maven 运行代码生成器
5.11.2.
使用 Ant 运行代码生成器
5.11.3.
使用 Gradle 运行代码生成器
5.11.3.1.
多重执行
5.11.3.2.
编译器依赖
5.11.3.3.
数据更改管理
5.11.4.
程序化配置和执行
5.12.
控制代码生成的系统属性
5.13.
代码生成依赖项
5.14.
程序化配置的内存编译
5.15.
大型模式的代码生成
5.16.
代码生成和版本控制
5.17.
需要代码生成的特性

上一节 : 下一节

反馈

您对此页面有任何反馈吗? 我们很乐意倾听!

The jOOQ Logo