您好我正在使用带有Spring Boot的JOOQ,并想知道是否有办法获取一个表及其列的名称字符串?例如:
我希望通过以下方式获得一张 table :
someObject.getTable("user")
然后使用该get方法的结果我还想获取该表的所有列,并能够将列名称与其他字符串进行比较 . 换句话说,如果有办法获取表,我是否也可以从同一个对象中获取表的列名?
我真的很感激任何帮助 .
是的你可以:
生成架构时,您可以从生成的代码中获取所有这些信息 . 只需转到您的架构并查找该表(区分大小写!):
Table<?> table = PUBLIC.getTable("user");
然后:
Field<?>[] fields = table.fields();
如果您没有生成元数据,您仍然可以使用DSLContext.meta()从JDBC连接中查找内容,您可以从中导航模式/表/等 .
是 . 如上所述,只有一个新增内容可以进一步阐明即将到来的用户,PUBLIC是您的DefaultSchema,如果您有,则生成元代码 . 所以,
Table<?> table = new DefaultSchema().getTable("user");
2 回答
是的你可以:
使用代码生成器
生成架构时,您可以从生成的代码中获取所有这些信息 . 只需转到您的架构并查找该表(区分大小写!):
然后:
使用org.jooq.Meta
如果您没有生成元数据,您仍然可以使用DSLContext.meta()从JDBC连接中查找内容,您可以从中导航模式/表/等 .
是 . 如上所述,只有一个新增内容可以进一步阐明即将到来的用户,PUBLIC是您的DefaultSchema,如果您有,则生成元代码 . 所以,