您好,Java世界中有任何工具可以解析/读取源文件并将SQL语句拉入文本文件。这是一项复杂的任务,因为您可以在源代码中以不同的方式编写SQL语句(例如:使用+
符号或使用.append()
),甚至可以条件构建SQL。
答案 0 :(得分:2)
我们一直在考虑这样做。这需要:
1)完整的Java解析器
2)完全控制和数据流分析,以便您可以 跟踪值如何通过代码传播
3)识别SQL(JDBC)调用,跟踪数据流 SQL查询回到它们的起源,并象征性地对其进行编码 沿数据流路径确定的操作集 适用的SQL操作。
DMS Software Reengineering Toolkit是解析语言的通用引擎。 DMS具有完整的Java前端(满足条件1),用于计算本地控制和全局数据数据流分析(条件2)。 DMS可配置为提取代码属性,因此可以配置我们认为可以执行3.仍然不是一项简单的任务。
但是,唉,请求的工具还没有。
答案 1 :(得分:1)
不是说我曾经遇到过。人们不得不做几次这样的事情,他们最终写了一个程序来做这件事,因为这不是你可以概括的事情。
答案 2 :(得分:1)
您是否考虑过在属性文件(或语言资源包)中准备好语句的SQL并从那里读取它们?
答案 3 :(得分:0)
查看www.antlr.org,他们有PL / SQL,MySQL和Java 1.6的语法。如果您只对SQL感兴趣,可能SQL语法可能是您可以构建的。 可以有更简单的方法来思考,比如从JDBC驱动程序log / wire /从数据库服务器日志中读取伪SQL会产生更一致的语法。