java - 使用java解析SQL语句并修改后重构
问题描述
有谁知道如何解析 SQL 语句,并再次使用 Java 重新构建?这是必需的,因为我需要根据某些条件向 WHERE 子句添加额外的列。例如,基于登录用户,我需要决定是否限制用户查看记录,就像它在美国以外受到限制一样。
解决方案
使用 jsqlparser 示例:
CCJSqlParserManager ccjSqlParserManager = new CCJSqlParserManager();
Select statement = (Select) ccjSqlParserManager.parse(new FileReader(path));
PlainSelect plainSelect = (PlainSelect) statement.getSelectBody();
Expression expression = plainSelect.getWhere();
推荐阅读
- java - 如何使用 java 8 或任何最近使用 java 访问的方法从共享位置访问文件?
- python - 如何处理上传到 PyPI 的“平台特定动态库”问题?
- networking - Kubernetes Pod 出站流量 DNAT 规则
- c# - 如何通过单击c#中的另一个取消按钮来取消任务运行?
- java - Apache FOP 和 Java 图像问题 - 结合多个来源
- c++ - 如何检查为什么链接需要一些符号?
- c++builder - Delphi for...in 在 C++Builder 中
- iis - 分析故障转储文件时,DLL 未在 WinDbg 中下载
- android - 客户端流式传输 gRPC 请求时出现 OutOfMemoryError
- oracle - Oracle 查询中 XML 处理期间的错误