小编Lis*_*isa的帖子

从 SQL/HQL Java 解析表名和列名

我正在寻找 Java 中的开源 API 来解析 SQL/HQL 查询,以便它为我提供其中使用的列名和表名。我尝试使用 JSQLParser,它为我提供了查询中使用的表名。但我没有看到支持获取查询中使用的列名。有没有其他 API 可以帮助我解决这个问题?我知道通用 SQL 解析器,但它似乎是付费的。

这是使用 JSQLParser 的代码片段,它为我提供了查询中的表名:

Statement statement;
    try
    {
        statement = CCJSqlParserUtil.parse( " SELECT * FROM  ( ( SELECT TBL.ID AS rRowId, TBL.NAME AS name, TBL.DESCRIPTION as description, TBL.TYPE AS type, TBL1.SHORT_NAME AS shortName  FROM ROLE_TBL TBL WHERE ( TBL.TYPE = 'CORE' OR  TBL1.SHORT_NAME = 'TNG' AND  TBL.IS_DELETED <> 1  ) ) MINUS ( SELECT TBL.ID AS rRowId, TBL.NAME AS name, TBL.DESCRIPTION as description, TBL.TYPE AS type, TBL3.SHORT_NAME AS shortName,TBL3.NAME …
Run Code Online (Sandbox Code Playgroud)

java oracle parsing jsqlparser

2
推荐指数
1
解决办法
2831
查看次数

标签 统计

java ×1

jsqlparser ×1

oracle ×1

parsing ×1