我正在尝试用 Java 解析 SELECT 语句。我熟悉 JOOQ,并希望使用它。我知道它并没有明确设计为 SQL 解析器——它实际上远不止于此,所以我想可能有一种方法可以使用它的内部解析器来解析 SELECT 查询。
我看到了一些关于如何使用访问者模式访问 JOOQ 内部结构的信息,但我需要使用树状结构在查询内部导航,该结构将允许单独访问查询的每个部分。我不想对所有用例都使用访问者模式。
这可能吗?我该怎么做?
最佳答案
是的,你可以。 jOOQ has a parser可以使用:
从 jOOQ 3.17 开始,有 an experimental model API可用于在外部遍历表达式树,例如使用模式匹配,或 internally使用新的 Traverser
应用程序接口(interface)。仍然可以使用 VisitListener
遍历表达式树。将表达式树渲染回 SQL 时。
关于java - 我可以使用 JOOQ 作为 SQL 解析器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55355879/