数据库名称和属性
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
<database/>
元素中的两个主要元素是<name/>
,它指定用于实现数据库元数据源的类,以及一个可选的键/值<properties/>
列表(取决于该类,详细信息请参见后面的章节)。例如XML 数据库
XML(独立和 Maven)
编程方式
Gradle (Kotlin)
Gradle (Groovy)
Gradle(第三方)
<configuration> <generator> <database> <name>org.jooq.meta.xml.XMLDatabase</name> <properties> <property> <key>dialect</key> <value>MYSQL</value> </property> <property> <key>xmlFile</key> <value>/path/to/database.xml</value> </property> </properties> </database> </generator> </configuration>
有关更多详细信息,请参见配置 XSD、独立代码生成和maven 代码生成。
new org.jooq.meta.jaxb.Configuration() .withGenerator(new Generator() .withDatabase(new Database() .withName("org.jooq.meta.xml.XMLDatabase") .withProperties( new Property() .withKey("dialect") .withValue("MYSQL"), new Property() .withKey("xmlFile") .withValue("/path/to/database.xml") ) ) )
import org.jooq.meta.jaxb.* configuration { generator { database { name = "org.jooq.meta.xml.XMLDatabase" properties { property { key = "dialect" value = "MYSQL" } property { key = "xmlFile" value = "/path/to/database.xml" } } } } }
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
configuration { generator { database { name = "org.jooq.meta.xml.XMLDatabase" properties { property { key = "dialect" value = "MYSQL" } property { key = "xmlFile" value = "/path/to/database.xml" } } } } }
有关更多详细信息,请参见配置 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.
如果没有提供名称,则默认的<name/>
将从 JDBC 连接派生。如果要专门指定 SQL 方言的数据库名称,jOOQ 将开箱即用地支持以下任何值
-
org.jooq.meta.ase.ASEDatabase
-
org.jooq.meta.auroramysql.AuroraMySQLDatabase
-
org.jooq.meta.aurorapostgres.AuroraPostgresDatabase
-
org.jooq.meta.cockroachdb.CockroachDBDatabase
-
org.jooq.meta.db2.DB2Database
-
org.jooq.meta.derby.DerbyDatabase
-
org.jooq.meta.duckdb.DuckDBDatabase
-
org.jooq.meta.firebird.FirebirdDatabase
-
org.jooq.meta.h2.H2Database
-
org.jooq.meta.hana.HanaDatabase
-
org.jooq.meta.hsqldb.HSQLDBDatabase
-
org.jooq.meta.ignite.IgniteDatabase
-
org.jooq.meta.informix.InformixDatabase
-
org.jooq.meta.ingres.IngresDatabase
-
org.jooq.meta.mariadb.MariaDBDatabase
-
org.jooq.meta.mysql.MySQLDatabase
-
org.jooq.meta.oracle.OracleDatabase
-
org.jooq.meta.postgres.PostgresDatabase
-
org.jooq.meta.redshift.RedshiftDatabase
-
org.jooq.meta.snowflake.SnowflakeDatabase
-
org.jooq.meta.sqldatawarehouse.SQLDataWarehouseDatabase
-
org.jooq.meta.sqlite.SQLiteDatabase
-
org.jooq.meta.sqlserver.SQLServerDatabase
-
org.jooq.meta.sybase.SybaseDatabase
-
org.jooq.meta.teradata.TeradataDatabase
-
org.jooq.meta.trino.TrinoDatabase
-
org.jooq.meta.vertica.VerticaDatabase
或者,如果要为不受支持的数据库版本/方言等反向工程通用的 JDBC java.sql.DatabaseMetaData
源,也可以指定以下数据库
-
org.jooq.meta.jdbc.JDBCDatabase
此外,还有两种开箱即用的数据库元数据源,它们不依赖于 JDBC 连接:JPADatabase(用于反向工程 JPA 注释实体)和XMLDatabase(用于反向工程 XML 文件)。有关更多详细信息,请参阅相应的章节。
最后但并非最不重要的一点是,您当然可以通过实现 jooq-meta 模块中的org.jooq.meta.Database
来实现自己的。
如果您要实现自定义数据库,请确保它作为代码生成器依赖项可供代码生成器使用
反馈
您对此页面有任何反馈吗? 我们很乐意听到它!