目录和模式映射
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
这些配置元素将两个特性组合在一起
- 它们允许指定一个或多个目录(默认:所有目录)以及一个或多个模式(默认:所有模式)以包含在代码生成器中。这与包括和排除元素的工作方式类似,但它应用于更早的阶段。
- 一旦指定了所有“输入”目录和模式,就可以将它们中的每一个与匹配的“输出”目录或模式关联起来,在这种情况下,“输入”将通过代码生成器映射到“输出”。有关此的更多详细信息,请参阅关于模式映射的手册部分。
有两种操作“输入”和“输出”目录和模式配置的方法:“顶层”和“嵌套”。请注意,目录仅在极少数数据库中受支持,因此通常用户只会使用“输入”和“输出”模式功能。
顶层配置
这种模式更适用于小型项目或快速教程,其中只需要生成单个目录和/或单个模式。在这种情况下,可以应用以下“顶层”配置元素
仅读取单个模式(来自所有目录,但在大多数数据库中,只有一个“默认目录”)
<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.
有关目录和模式映射功能的更多信息,请参阅手册的相关部分。
反馈
您对此页面有任何反馈吗?我们很乐意听到!