DSLContext dSLContext = DSL.using(getPostgresqlDataSource().getConnection());
Queries ddl = dSLContext.ddl(DefaultCatalog.DEFAULT_CATALOG.WORLD_SEED.ATM);
for (Query query : ddl.queries()) {
System.out.println(query);
}
private static DataSource getPostgresqlDataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("org.postgresql.Driver");
dataSource.setUrl(System.getenv("WORLD_JDBC_URL"));
dataSource.setUsername(System.getenv("WORLD_JDBC_USERNAME"));
dataSource.setPassword(System.getenv("WORLD_JDBC_PASSWORD"));
return dataSource;
}
这里已从生成的对象中使用了架构名称和表名称,但我想在不生成对象的情况下将二者作为输入
答案 0 :(得分:2)
您可以通过DSLContext.meta()
从JDBC连接访问实时元信息,按您感兴趣的模式和表进行过滤,然后将其传递给ddl()
方法。请注意,org.jooq.Meta
引用的元信息比生成的代码略少,因此您的DDL可能无法反映确切的原始模型。