【发布时间】:2013-10-10 12:40:13
【问题描述】:
我正在编写一个小型实用程序来捕获和记录 SQL 语句,但必须从查询文本中删除敏感数据并替换为一些虚拟文本(即:XXXXX)。
java中解析SQL查询并替换参数值的好方法是什么?
例如:
替换
SELECT NAME, ADDRESS, .... FROM USER WHERE SSN IN ('11111111111111', '22222222222222');
与
SELECT NAME, ADDRESS, .... FROM USER WHERE SSN IN (?, ?);
【问题讨论】:
-
使用像jsqlparser这样的sql解析器..不要使用正则表达式..要涵盖的情况太多,正则表达式会使您的代码复杂化..
-
你用什么数据库
-
@Anirudh,你能发表你的评论作为答案,这样我就可以接受了:)
-
也许 p6spy 也可以提供帮助,但我找不到他们的页面(尽管您仍然可以从 sourceforge 下载它)