使用 JOOQ 从 MS SQL 数据库生成代码时遇到问题

Posted

技术标签:

【中文标题】使用 JOOQ 从 MS SQL 数据库生成代码时遇到问题【英文标题】:trouble generating code with JOOQ from an MS SQL db 【发布时间】:2020-12-02 12:03:59 【问题描述】:

我正在尝试使用 JOOQ 从 Spring Boot 应用程序中的现有数据库生成代码文件。但是,当我运行 maven 插件时,出现以下错误:

[ERROR] Failed to execute goal org.jooq:jooq-codegen-maven:3.13.3:generate (default-cli) on project english-learners: Error running jOOQ code generation tool: Your configured database type was not found. This can have several reasons:
[ERROR] - You want to use a commercial jOOQ Edition, but you pulled the Open Source Edition from Maven Central.
[ERROR] - You have mis-typed your class name. org.jooq.meta.sqlserver.SQLServerDatabase

我不清楚这个错误是什么意思 - 我从 the documentation 复制了名称。我已经测试过了,可以连接数据库。我认为我的配置有问题。

这是我的插件配置:

<plugin>
    <groupId>org.jooq</groupId>
    <artifactId>jooq-codegen-maven</artifactId>
    <dependencies>
        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <version>$mssql-jdbc.version</version>
        </dependency>
        <dependency>
            <groupId>org.jooq</groupId>
            <artifactId>jooq-meta</artifactId>
            <version>$jooq.version</version>
        </dependency>
    </dependencies>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <jdbc>
            <driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver>
            <url>$datasource.url</url>
            <user>$datasource.username</user>
            <password>$datasource.password</password>
        </jdbc>
        <generator>
            <database>
                <name>org.jooq.meta.sqlserver.SQLServerDatabase</name>
                <includes>.*</includes>
                <inputSchema>public</inputSchema>
            </database>
            <target>
                <packageName>my.project</packageName>
            </target>
        </generator>
    </configuration>
</plugin>

版本:

Java            14
Spring Boot     2.3.2.RELEASE
JOOQ            3.13.3
mssql-jdbc      8.4.0.jre14
MS SQL          2012

谁能帮助我进行配置或指出我做错了什么?

【问题讨论】:

【参考方案1】:

jOOQ 对于商业数据库不是免费的。

请查看:https://www.jooq.org/download/

【讨论】:

哦。我想这不是很清楚。我一直在查看文档,并检查了 OSS 版本。谢谢!

以上是关于使用 JOOQ 从 MS SQL 数据库生成代码时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

使用 DDL 数据库生成代码时找不到函数 - jooq

如何修复:Jooq 代码不会从 sql 脚本为内存 db 中的 sqlite 生成 java 代码

SQL Server 2017 - 使用 Gradle 生成 JOOQ 代码

Information_schema 未从 jooq for SQL Server 生成

如何从 SQL 查询配置 jOOQ 可嵌入类型

新的 Flyway 迁移破坏了现有的 jOOQ 生成的代码