JOOQ:获取带有字符串的表和列?

Tuc*_*uco 3 java jooq spring-boot

您好,我正在将 JOOQ 与 Spring Boot 一起使用,并且想知道是否有办法获取带有名称字符串的表及其列?例如:

我希望能够通过执行以下操作来获得一张桌子:

someObject.getTable("user")

然后使用该 get 方法的结果,我还想获取该表的所有列,并能够将列名与其他字符串进行比较。换句话说,如果有办法获取表,我是否也可以从同一个对象中获取表的列名?

我真的很感激这方面的任何帮助。

Luk*_*der 6

是的你可以:

使用代码生成器

当您生成架构时,您可以从生成的代码中获得所有这些信息。只需转到您的架构并查找表(区分大小写!):

Table<?> table = PUBLIC.getTable("user");
Run Code Online (Sandbox Code Playgroud)

进而:

Field<?>[] fields = table.fields();
Run Code Online (Sandbox Code Playgroud)

使用 org.jooq.Meta

如果您没有生成元数据,您仍然可以使用 JDBC 连接查找内容DSLContext.meta(),从那里您可以导航您的架构/表/等。