gpt4 book ai didi

java - 尝试使用 SQL Server 使用 Jooq 生成代码,但无法这样做

转载 作者:太空宇宙 更新时间:2023-11-04 11:50:21 25 4
gpt4 key购买 nike

已尝试使用 Gradle 中的 SQL Server 配置使用 Jooq 生成代码,但无法这样做。但同样的事情在 h2DB 上运行良好。谁能向我解释一下如何在 gradle 中使用 jooq 为 mssql 服务器生成类。

**Here is my gradle code:**

import org.jooq.util.jaxb.*
import org.jooq.util.*

buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.h2database:h2:1.4.186'
classpath 'org.jooq:jooq-codegen:3.9.1'
classpath 'com.microsoft.sqlserver:sqljdbc4:4.0'
classpath "io.ratpack:ratpack-gradle:0.9.7-SNAPSHOT"
classpath 'com.github.jengelman.gradle.plugins:shadow:1.0.2'

}
}
plugins {
id 'io.ratpack.ratpack-java' version '1.3.3'
}

repositories {
jcenter()
}

dependencies {
compile ratpack.dependency('hikari')
compile 'com.h2database:h2:1.4.186'
compile 'org.jooq:jooq:3.9.1'
compile 'com.microsoft.sqlserver:sqljdbc4:4.0'
compile "io.ratpack:ratpack-gradle:0.9.7-SNAPSHOT"
compile 'com.github.jengelman.gradle.plugins:shadow:1.0.2'

}
mainClassName = 'App'

task jooqCodegen {
doLast {
String init = "<directory>/init.sql"
Configuration configuration = new Configuration()
.withJdbc(new Jdbc()
.withDriver("com.microsoft.sqlserver.jdbc.SQLServerDriver")
.withUrl("jdbc:sqlserver://<server address>;DatabaseName=JOOQ; INIT=RUNSCRIPT FROM '$init'")
.withUser("****")
.withPassword("****")
)
.withGenerator(new Generator()
.withDatabase(new Database()
.withName("org.jooq.util.sqlserver.SQLServerDatabase")
.withIncludes(".*")
.withExcludes("")
.withInputSchema("dbo")
)
.withTarget(new Target()
.withDirectory("$projectDir/src/main/java")
.withPackageName("jooq")))
GenerationTool.generate(configuration)
}
}

**Note :** Added one create table statement in init.sql file

最佳答案

jOOQ开源版不支持SQL Server as shown here 。为了将jOOQ专业版与gradle一起使用,您需要进行以下修改:

buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'org.jooq.pro:jooq-codegen:3.9.1'
// ...
}
}
// ...

dependencies {
compile 'org.jooq.pro:jooq:3.9.1'
// ...
}

请注意,Maven groupId 已更改。这些是不同 jOOQ 版本的所有可用 groupId 值:

  • org.jooq 用于开源版本(可从 Maven Central 获取)
  • org.jooq.pro 用于商业版本(Maven Central 不提供)
  • org.jooq.pro-java-6 用于支持 Java 6 的商业版本(Maven Central 不提供)
  • org.jooq.Trial 用于免费试用版(Maven Central 不提供)

关于java - 尝试使用 SQL Server 使用 Jooq 生成代码,但无法这样做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41891304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com