Gradle 在jOOQ中使用SSH隧道
我在项目中通过Gradle配置jOOQ,需要开始通过SSH隧道连接到数据库。我找不到任何关于如何开始的文档。我当前的配置(没有隧道)如下所示:Gradle 在jOOQ中使用SSH隧道,gradle,jooq,ssh-tunnel,Gradle,Jooq,Ssh Tunnel,我在项目中通过Gradle配置jOOQ,需要开始通过SSH隧道连接到数据库。我找不到任何关于如何开始的文档。我当前的配置(没有隧道)如下所示: task generateJooq << { def writer = new StringWriter() new MarkupBuilder(writer).configuration('xmlns': 'http://www.jooq.org/xsd/jooq-codegen-3.9.0.xsd') {
task generateJooq << {
def writer = new StringWriter()
new MarkupBuilder(writer).configuration('xmlns': 'http://www.jooq.org/xsd/jooq-codegen-3.9.0.xsd') {
jdbc() {
driver('org.postgresql.Driver')
url(props.getProperty('datasource.url')) // From a properties file
user(props.getProperty('datasource.user')) // From a properties file
password(props.getProperty('datasource.pass')) // From a properties file
}
generator() {
database() {
inputSchema('public')
}
generate() {
pojos(true)
daos(true)
}
target() {
packageName('com.foo.bar.model.dao')
directory(Paths.get(project.projectDir.toString(), 'src/main/java'))
}
}
}
GenerationTool.generate(
JAXB.unmarshal(new StringReader(writer.toString()), org.jooq.util.jaxb.Configuration.class)
)
}
task generateJooqjOOQ的代码生成器配置在JDBC已经提供的现成配置之上没有提供很多东西。因此,标准的方法是提供一个JDBCURL、用户名、密码以及一些可选的属性
如果您已经有一个JDBC连接
(这是通过SSH隧道构建的,具体取决于您的意思),您还可以将其传递给生成工具
。将您的GenerationTool
调用替换为:
GenerationTool=newgenerationtool();
工具设置连接(连接);
工具。生成(配置);//你的JAXB呼叫在这里。。。
您遇到了什么问题?@LukasEder,我知道如何告诉jOOQ直接连接到数据库,但我不知道如何将其设置为使用SSH隧道。因此,我正在寻找一种通过使用代理/SSH隧道服务器连接到数据库的配置。