将 SQL 解析为 sql 生成器

Parse SQL to sql builder

是否有简单的方法将 SQL 字符串转换为:

SELECT u.name, u.role 
FROM users 
WHERE user_id = ?

任何 SQL 构建器,如 JOOQ、QueryDsl,只是为了获得修改查询的能力——添加连接、额外的 "where" 子句、LIMIT-OFFSET?

jOOQ 的解析器

jOOQ 的最新版本引入了一个解析器,它可以将所有当前支持的供应商方言中的任意 SQL 解析到 jOOQ 表达式树中。拥有该表达式树后,您可以使用 VisitListener SPI 对其进行任意操作。

对于历史背景:

对于 jOOQ,存在 Gudu Software called SQL 2 jOOQ 的第三方贡献,它可以解析用 MySQL 或 Postgre[=23= 编写的 SQL SELECT 语句] 方言并生成 jOOQ 代码作为输出。

另一种选择,我过去曾在这样的项目中使用过 JSQLParser。使用起来不是很困难。