SQL 语法解释器jsqlparser

时间:2022-08-21 17:05:45

是用java 开发的解析器, 可以生成java类层次结构.

 

主页地址:


http://jsqlparser.sourceforge.net

 

可以完美解析 表的 增删查改等操作.

 

展开它的源码你会发现.基本不用看api就可以使用,因为它是如此的类似sql

 

只要你会java 只要你会写sql 那么你就会使用 jsqlparser .

 

例如: 查询sql 他会解析成 select 类. 该对象 包含有表名, 字段名, where 子句表达式.

 

这个是查询的where子句调试截图:


SQL 语法解释器jsqlparser

 

相应的还有很多,只要你在sql中能找到的关键字.他都有相应的获取方式和调用. 就等你慢慢发掘了.

 

更新sql 解析成: update 类 . 对象包含表明,字段,where 子句表达式..

 

如下图所示:


SQL 语法解释器jsqlparser

 

Jsqlparser源码结构:

 


SQL 语法解释器jsqlparser

 

 

 

官方的jar包只支持jdk1.6. 因为其中用上的string类的 isEmpty()方法. 但是jdk1.5中并没有该方法.

 

所以本人就改了下.其实感觉官方没有必要使用jdk1.6的. 仅仅因为一个方法的调用.而牺牲掉了更多的1.5平台应用.

 

得不偿失.

 

嘿嘿

 

附上本人的工程. 基于上面写了个简单的测试 . 在testsrc 下的 ly包中. 是一个解析where子句的. 目的是要做一个sql和

 

lucene 转换器. 将sql语法解析成lucene 查询语法. 这个测试例子只是简单的解析了where子句.功能不全.但是思想都在.

 

目的是将繁琐不太结构话的 sql语句. 变成java 层次对象.

 

 

源码及测试工程下载:

 

jsqlparser.7z