目录和模式映射
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
这些配置元素将两个特性组合在一起
- 它们允许指定一个或多个目录(默认:所有目录)以及一个或多个模式(默认:所有模式)以包含在代码生成器中。这与包括和排除元素的工作方式类似,但它应用于更早的阶段。
- 一旦指定了所有“输入”目录和模式,就可以将它们中的每一个与匹配的“输出”目录或模式关联起来,在这种情况下,“输入”将通过代码生成器映射到“输出”。有关此的更多详细信息,请参阅关于模式映射的手册部分。
有两种操作“输入”和“输出”目录和模式配置的方法:“顶层”和“嵌套”。请注意,目录仅在极少数数据库中受支持,因此通常用户只会使用“输入”和“输出”模式功能。
顶层配置
这种模式更适用于小型项目或快速教程,其中只需要生成单个目录和/或单个模式。在这种情况下,可以应用以下“顶层”配置元素
仅读取单个模式(来自所有目录,但在大多数数据库中,只有一个“默认目录”)
<configuration>
<generator>
<database>
<inputSchema>my_schema</inputSchema>
</database>
</generator>
</configuration>
有关更多详细信息,请参见配置 XSD、独立代码生成和maven 代码生成。
new org.jooq.meta.jaxb.Configuration()
.withGenerator(new Generator()
.withDatabase(new Database()
.withInputSchema("my_schema")
)
)
有关更多详细信息,请参见配置 XSD和以编程方式进行代码生成。
import org.jooq.meta.jaxb.*
configuration {
generator {
database {
inputSchema = "my_schema"
}
}
}
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
configuration {
generator {
database {
inputSchema = "my_schema"
}
}
}
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
// The jOOQ-codegen-gradle plugin has been introduced in version 3.19. // Please use the official plugin instead of the third party plugin that was recommended before.
仅读取单个目录及其所有模式
<configuration>
<generator>
<database>
<inputCatalog>my_catalog</inputCatalog>
</database>
</generator>
</configuration>
有关更多详细信息,请参见配置 XSD、独立代码生成和maven 代码生成。
new org.jooq.meta.jaxb.Configuration()
.withGenerator(new Generator()
.withDatabase(new Database()
.withInputCatalog("my_catalog")
)
)
有关更多详细信息,请参见配置 XSD和以编程方式进行代码生成。
import org.jooq.meta.jaxb.*
configuration {
generator {
database {
inputCatalog = "my_catalog"
}
}
}
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
configuration {
generator {
database {
inputCatalog = "my_catalog"
}
}
}
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
// The jOOQ-codegen-gradle plugin has been introduced in version 3.19. // Please use the official plugin instead of the third party plugin that was recommended before.
仅读取单个目录和单个模式
<configuration>
<generator>
<database>
<inputCatalog>my_catalog</inputCatalog>
<inputSchema>my_schema</inputSchema>
</database>
</generator>
</configuration>
有关更多详细信息,请参见配置 XSD、独立代码生成和maven 代码生成。
new org.jooq.meta.jaxb.Configuration()
.withGenerator(new Generator()
.withDatabase(new Database()
.withInputCatalog("my_catalog")
.withInputSchema("my_schema")
)
)
有关更多详细信息,请参见配置 XSD和以编程方式进行代码生成。
import org.jooq.meta.jaxb.*
configuration {
generator {
database {
inputCatalog = "my_catalog"
inputSchema = "my_schema"
}
}
}
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
configuration {
generator {
database {
inputCatalog = "my_catalog"
inputSchema = "my_schema"
}
}
}
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
// The jOOQ-codegen-gradle plugin has been introduced in version 3.19. // Please use the official plugin instead of the third party plugin that was recommended before.
<configuration>
<generator>
<database>
<schemata>
<schema>
<inputSchema>schema1</inputSchema>
</schema>
<schema>
<inputSchema>schema2</inputSchema>
</schema>
</schemata>
</database>
</generator>
</configuration>
有关更多详细信息,请参见配置 XSD、独立代码生成和maven 代码生成。
new org.jooq.meta.jaxb.Configuration()
.withGenerator(new Generator()
.withDatabase(new Database()
.withSchemata(
new SchemaMappingType()
.withInputSchema("schema1"),
new SchemaMappingType()
.withInputSchema("schema2")
)
)
)
有关更多详细信息,请参见配置 XSD和以编程方式进行代码生成。
import org.jooq.meta.jaxb.*
configuration {
generator {
database {
schemata {
schema {
inputSchema = "schema1"
}
schema {
inputSchema = "schema2"
}
}
}
}
}
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
configuration {
generator {
database {
schemata {
schema {
inputSchema = "schema1"
}
schema {
inputSchema = "schema2"
}
}
}
}
}
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
// The jOOQ-codegen-gradle plugin has been introduced in version 3.19. // Please use the official plugin instead of the third party plugin that was recommended before.
读取两个或多个目录及其所有模式
<configuration>
<generator>
<database>
<catalogs>
<catalog>
<inputCatalog>catalog1</inputCatalog>
</catalog>
<catalog>
<inputCatalog>catalog2</inputCatalog>
</catalog>
</catalogs>
</database>
</generator>
</configuration>
有关更多详细信息,请参见配置 XSD、独立代码生成和maven 代码生成。
new org.jooq.meta.jaxb.Configuration()
.withGenerator(new Generator()
.withDatabase(new Database()
.withCatalogs(
new CatalogMappingType()
.withInputCatalog("catalog1"),
new CatalogMappingType()
.withInputCatalog("catalog2")
)
)
)
有关更多详细信息,请参见配置 XSD和以编程方式进行代码生成。
import org.jooq.meta.jaxb.*
configuration {
generator {
database {
catalogs {
catalog {
inputCatalog = "catalog1"
}
catalog {
inputCatalog = "catalog2"
}
}
}
}
}
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
configuration {
generator {
database {
catalogs {
catalog {
inputCatalog = "catalog1"
}
catalog {
inputCatalog = "catalog2"
}
}
}
}
}
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
// The jOOQ-codegen-gradle plugin has been introduced in version 3.19. // Please use the official plugin instead of the third party plugin that was recommended before.
从一个或多个特定目录读取两个或多个模式
<configuration>
<generator>
<database>
<catalogs>
<catalog>
<inputCatalog>catalog</inputCatalog>
<schemata>
<schema>
<inputSchema>schema1</inputSchema>
</schema>
<schema>
<inputSchema>schema2</inputSchema>
</schema>
</schemata>
</catalog>
</catalogs>
</database>
</generator>
</configuration>
有关更多详细信息,请参见配置 XSD、独立代码生成和maven 代码生成。
new org.jooq.meta.jaxb.Configuration()
.withGenerator(new Generator()
.withDatabase(new Database()
.withCatalogs(
new CatalogMappingType()
.withInputCatalog("catalog")
.withSchemata(
new SchemaMappingType()
.withInputSchema("schema1"),
new SchemaMappingType()
.withInputSchema("schema2")
)
)
)
)
有关更多详细信息,请参见配置 XSD和以编程方式进行代码生成。
import org.jooq.meta.jaxb.*
configuration {
generator {
database {
catalogs {
catalog {
inputCatalog = "catalog"
schemata {
schema {
inputSchema = "schema1"
}
schema {
inputSchema = "schema2"
}
}
}
}
}
}
}
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
configuration {
generator {
database {
catalogs {
catalog {
inputCatalog = "catalog"
schemata {
schema {
inputSchema = "schema1"
}
schema {
inputSchema = "schema2"
}
}
}
}
}
}
}
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
// The jOOQ-codegen-gradle plugin has been introduced in version 3.19. // Please use the official plugin instead of the third party plugin that was recommended before.
目录和模式映射
无论您可以在哪里放置inputCatalog或inputSchema元素(顶层或嵌套),如果您希望从目录和模式映射功能中获益,您也可以放置匹配的映射指令。以下配置是可能的
将输入名称映射到特定的输出名称
<configuration>
<generator>
<database>
<inputCatalog>my_input_catalog</inputCatalog>
<outputCatalog>my_output_catalog</outputCatalog>
<inputSchema>my_input_schema</inputSchema>
<outputSchema>my_output_schema</outputSchema>
</database>
</generator>
</configuration>
有关更多详细信息,请参见配置 XSD、独立代码生成和maven 代码生成。
new org.jooq.meta.jaxb.Configuration()
.withGenerator(new Generator()
.withDatabase(new Database()
.withInputCatalog("my_input_catalog")
.withOutputCatalog("my_output_catalog")
.withInputSchema("my_input_schema")
.withOutputSchema("my_output_schema")
)
)
有关更多详细信息,请参见配置 XSD和以编程方式进行代码生成。
import org.jooq.meta.jaxb.*
configuration {
generator {
database {
inputCatalog = "my_input_catalog"
outputCatalog = "my_output_catalog"
inputSchema = "my_input_schema"
outputSchema = "my_output_schema"
}
}
}
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
configuration {
generator {
database {
inputCatalog = "my_input_catalog"
outputCatalog = "my_output_catalog"
inputSchema = "my_input_schema"
outputSchema = "my_output_schema"
}
}
}
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
// The jOOQ-codegen-gradle plugin has been introduced in version 3.19. // Please use the official plugin instead of the third party plugin that was recommended before.
将输入名称映射到“默认”目录或模式(即,没有名称)
<configuration>
<generator>
<database>
<inputCatalog>my_input_catalog</inputCatalog>
<outputCatalogToDefault>true</outputCatalogToDefault>
<inputSchema>my_input_schema</inputSchema>
<outputSchemaToDefault>true</outputSchemaToDefault>
</database>
</generator>
</configuration>
有关更多详细信息,请参见配置 XSD、独立代码生成和maven 代码生成。
new org.jooq.meta.jaxb.Configuration()
.withGenerator(new Generator()
.withDatabase(new Database()
.withInputCatalog("my_input_catalog")
.withOutputCatalogToDefault(true)
.withInputSchema("my_input_schema")
.withOutputSchemaToDefault(true)
)
)
有关更多详细信息,请参见配置 XSD和以编程方式进行代码生成。
import org.jooq.meta.jaxb.*
configuration {
generator {
database {
inputCatalog = "my_input_catalog"
isOutputCatalogToDefault = true
inputSchema = "my_input_schema"
isOutputSchemaToDefault = true
}
}
}
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
configuration {
generator {
database {
inputCatalog = "my_input_catalog"
outputCatalogToDefault = true
inputSchema = "my_input_schema"
outputSchemaToDefault = true
}
}
}
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
// The jOOQ-codegen-gradle plugin has been introduced in version 3.19. // Please use the official plugin instead of the third party plugin that was recommended before.
有关目录和模式映射功能的更多信息,请参阅手册的相关部分。
反馈
您对此页面有任何反馈吗?我们很乐意听到!