使用 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 数据库生成代码时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章
如何修复:Jooq 代码不会从 sql 脚本为内存 db 中的 sqlite 生成 java 代码
SQL Server 2017 - 使用 Gradle 生成 JOOQ 代码