XML 元数据
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
jOOQ 提供了一个 JAXB 可序列化的 XML 表示形式的标准 SQL INFORMATION_SCHEMA
:https://jooq.org.cn/xsd/jooq-meta-3.20.0.xsd。此格式可以导入和导出为 org.jooq.util.xml.jaxb.InformationSchema
,并转换为 org.jooq.Meta
// Using strings: create.meta( "<information_schema>...</information_schema>" ) .getTables() .forEach(System.out::println);
或者
// Using JAXB annotated API: create.meta(informationSchema) .getTables() .forEach(System.out::println);
假设以下 XML 内容
<information_schema> <tables> <table> <table_name>a</table_name> <table_type>BASE TABLE</table_type> </table> <table> <table_name>b</table_name> <table_type>BASE TABLE</table_type> </table> <table> <table_name>c</table_name> <table_type>BASE TABLE</table_type> </table> </tables> <columns> <column> <table_name>a</table_name> <column_name>i</column_name> <data_type>int</data_type> <ordinal_position>1</ordinal_position> <is_nullable>true</is_nullable> </column> <column> <table_name>b</table_name> <column_name>j</column_name> <data_type>int</data_type> <ordinal_position>1</ordinal_position> <is_nullable>true</is_nullable> </column> <column> <table_name>c</table_name> <column_name>k</column_name> <data_type>int</data_type> <ordinal_position>1</ordinal_position> <is_nullable>true</is_nullable> </column> </columns> </information_schema>
以上代码打印了 DDL 脚本中的所有表
a b c
所有元数据都可用,包括列名、类型、约束等。
XML 也可以从 org.jooq.Source
读取,它表示任何提供源的字符串,包括文件、输入流等。
导出 XML
任何 org.jooq.Meta
实现都可以使用 Meta.informationSchema()
导出回 XML(JAXB 注释的 API,使用 JAXB 获取 XML 内容)。
反馈
您对此页面有任何反馈吗? 我们很乐意听取您的意见!