JAVA之sql解析工具JSqlParser介绍

What is it

JSqlParser parses an SQL statement and translate it into a hierarchy of Java classes.

The generated hierarchy can be navigated using the Visitor Pattern

jsqlparser结构简单,继承也不复杂,并且setter和getter方法很全面,所以处理起来很容易。



 

How it works

It is built using JavaCC. The core JavaCC grammar for SQL has been taken from Guido Draheim's site and has been changed in order to produce a hierarchy of Java classes.



 

Alternatives to JSqlParser?

General SQL Parser looks pretty good, with extended SQL syntax (like PL/SQL and T-SQL) and java + .NET APIs. The tool is commercial (license available online), with a free download option.

How it can be used

The method CCJSqlParserManager.parse returns a class implementing Statement which can be used to navigate the structure representing the SQL statement.

To avoid using the instanceof operator as in:      

        if (statement instanceof Insert) {

           // insert case

        }

        else if (statement instanceof Update) {

           // update case

        }

                     

the hierarchy can be accessed using proper visitors:           

        void visit(Insert statement) {

           // insert case

        }

        void visit(Update statement) {

           // update case

        }

猜你喜欢

转载自gaojingsong.iteye.com/blog/2339408
今日推荐