JSqlParser系列之一源代码运行(原)
一、JSQLParser介绍
JSQLParser是一款开源的SQL语句解析器,使用它可以把SQL语句解析成一组层次分明的java类。JSQLParsers所能解释的SQL语句不受具体数据库的限制,在支持标准SQL的同时,也支持一些特定数据库的方法。如支持Oracle关联语法(+),PostgreSQL的方法using::,以及关系运算符!=,等等。JSQL解析的结果可以使用Visitor模式进行比较方便的访问,后续将有介绍。
JSQLParser的项目地址为:https://github.com/JSQLParser/JSqlParser/wiki#what-is-jsqlparser 我下载到的版本为0.9.2,后续的一些介绍也以该版本为基础。
二、源代码工程搭建
不是特别熟悉MAVEN,拿到源代码后,查看了一下pom.xml文件。
可以看出,JSQLParser依赖Junit 4.11,commons-io 2.4,Junit Eclipse已自带,commons-io 2.4 可以直接到apache去下载,地址为:
http://commons.apache.org/proper/commons-io/download_io.cgi
这样建立好工程,增加上面两个jar包,工程还是报错。如下:
怎么会缺少类呢?原来JSQLParser源码中SQL解析那部分是使用JAVACC来生成的,在JSQLParser的源码中,你可以看到JSqlParserCC.jj这样一个文件:
该文件为JAVACC源文件(后续计划学习一下JAVACC,届时笔记奉上),下载一个JAVACC5.0(https://java.net/projects/javacc/downloads/download/javacc-5.0.zip),解压,命令行转到bin目录,拷贝一份JSqlParserCC.jj到bin目录,输入: javacc JSqlParserCC.jj
可以看到,左侧目录中已生成几个java源代码文件,拷贝这些文件到相应的包,错误即可消除。至此,JSQLParser源代码工程搭建完毕。