首页 文章

JOOQ:用字符串获取表和列?

提问于
浏览
1

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

我希望通过以下方式获得一张 table :

someObject.getTable("user")

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

我真的很感激任何帮助 .

2 回答

  • 0

    是的你可以:

    使用代码生成器

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

    Table<?> table = PUBLIC.getTable("user");
    

    然后:

    Field<?>[] fields = table.fields();
    

    使用org.jooq.Meta

    如果您没有生成元数据,您仍然可以使用DSLContext.meta()从JDBC连接中查找内容,您可以从中导航模式/表/等 .

  • 2

    是 . 如上所述,只有一个新增内容可以进一步阐明即将到来的用户,PUBLIC是您的DefaultSchema,如果您有,则生成元代码 . 所以,

    Table<?> table = new DefaultSchema().getTable("user");
    

相关问题