是用java 开发的解析器, 可以生成java类层次结构.
主页地址:
http://jsqlparser.sourceforge.net
可以完美解析 表的 增删查改等操作.
展开它的源码你会发现.基本不用看api就可以使用,因为它是如此的类似sql
只要你会java 只要你会写sql 那么你就会使用 jsqlparser .
例如: 查询sql 他会解析成 select 类. 该对象 包含有表名, 字段名, where 子句表达式.
这个是查询的where子句调试截图:
相应的还有很多,只要你在sql中能找到的关键字.他都有相应的获取方式和调用. 就等你慢慢发掘了.
更新sql 解析成: update 类 . 对象包含表明,字段,where 子句表达式..
如下图所示:
Jsqlparser源码结构:
官方的jar包只支持jdk1.6. 因为其中用上的string类的 isEmpty()方法. 但是jdk1.5中并没有该方法.
所以本人就改了下.其实感觉官方没有必要使用jdk1.6的. 仅仅因为一个方法的调用.而牺牲掉了更多的1.5平台应用.
得不偿失.
嘿嘿
附上本人的工程. 基于上面写了个简单的测试 . 在testsrc 下的 ly包中. 是一个解析where子句的. 目的是要做一个sql和
lucene 转换器. 将sql语法解析成lucene 查询语法. 这个测试例子只是简单的解析了where子句.功能不全.但是思想都在.
目的是将繁琐不太结构话的 sql语句. 变成java 层次对象.
源码及测试工程下载: