我正在我的项目中通过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') {
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)
)
}
如何修改此配置以使用SSH隧道连接到我的数据库?
答案 0 :(得分:0)
jOOQ的代码生成器配置并没有提供很多基于JDBC已经开箱即用的东西。因此,标准方法是提供JDBC URL,用户名,密码以及可选的一些属性。
如果您已经拥有JDBC Connection
(通过SSH隧道构建,具体取决于您的意思),您也可以将其传递给GenerationTool
。以此替换您的GenerationTool
来电:
GenerationTool tool = new GenerationTool();
tool.setConnection(connection);
tool.generate(configuration); // Your JAXB call here...