通过JSQLParser解析sql语句里面的table

jsqlparser是github上一个开源项目,maven的配置如下:

<dependency>
<groupId>com.github.jsqlparser</groupId>
<artifactId>jsqlparser</artifactId>
<version>1.1</version>
</dependency>


publicList tablesNameBysql() {

String sql ="select * from Outvisit l left join patient p on l.patid=p.patientid join patstatic c on  l.patid=c.patid inner join patphone  ph  on l.patid=ph.patid where l.name='kevin'  union all select * from invisit v";

Statement statement = CCJSqlParserUtil.parse(sql);

//            Select selectStatement = (Select)statement;

TablesNamesFinder tablesNamesFinder =newTablesNamesFinder();

List result = tablesNamesFinder.getTableList(statement);

for(String tableStr:result){

logger.debug(">>>> "+ tableStr);

}

return result;

}


>>>> Outvisit

>>>> patient

>>>> patstatic

>>>> patphone

>>>> invisit

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容