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

数据库名称和属性

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

<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")
      )
    )
  )

有关更多详细信息,请参见配置 XSD以编程方式生成代码

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"
        }
      }
    }
  }
}

有关更多详细信息,请参见配置 XSDgradle 代码生成

configuration {
  generator {
    database {
      name = "org.jooq.meta.xml.XMLDatabase"
      properties {
        property {
          key = "dialect"
          value = "MYSQL"
        }
        property {
          key = "xmlFile"
          value = "/path/to/database.xml"
        }
      }
    }
  }
}

有关更多详细信息,请参见配置 XSDgradle 代码生成

// 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来实现自己的。

如果您要实现自定义数据库,请确保它作为代码生成器依赖项可供代码生成器使用

引用此页

反馈

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

The jOOQ Logo