/JSqlParser

JSqlParser parses an SQL statement and translate it into a hierarchy of Java classes. The generated hierarchy can be navigated using the Visitor Pattern

Primary LanguageJava

JSqlParser

Build Status Coverage Status

Flattr PayPal donate button

Look here for more information and examples: https://github.com/JSQLParser/JSqlParser/wiki.

License

JSqlParser is dual licensed under LGPL V2.1 and Apache Software License, Version 2.0.

News

Version 0.9.3 released.

More news can be found here: https://github.com/JSQLParser/JSqlParser/wiki/News.

JSqlParser

JSqlParser is a SQL statement parser. It translates SQLs in a traversable hierarchy of Java classes. JSqlParser is not limited to one database but provides support for a lot of specials of Oracle, SqlServer, MySQL, PostgreSQL ... To name some, it has support for Oracles join syntax using (+), PostgreSQLs cast syntax using ::, relational operators like != and so on.

Support

If you need help using JSqlParser feel free to file an issue or contact me.

Contributions

To help JSqlParsers development you are encouraged to provide

  • feedback
  • bugreports
  • pull requests for new features
  • improvement requests

Also I would like to know about needed examples or documentation stuff.

Extensions in the latest SNAPSHOT version 0.9.4

  • revived Apache Software License, Version 2.0
  • support for row constructors in conditions
SELECT * FROM t1 WHERE ROW(col1, col2) = (SELECT col3, col4 FROM t2 WHERE id = 10)
  • some refactorings for TablesNamesFinder to improve usability
  • established JJTree nodes for columns and tables (look at SelectASTTest) for first usages
  • support for MySQL GROUP_CONCAT
GROUP_CONCAT(DISTINCT test_score ORDER BY test_score DESC SEPARATOR ' ')

Extensions of JSqlParser releases

BUILDING from the sources

As the project is a Maven project, building is rather simple by running:

mvn package

This will produce the jsqlparser-VERSION.jar file in the target/ directory.

Maven Repository

JSQLParser is deployed at sonatypes open source maven repository. Starting from now I will deploy there. The first snapshot version there will be 0.8.5-SNAPSHOT. To use it this is the repository configuration:

<repositories>
     <repository>
         <id>jsqlparser-snapshots</id>
         <snapshots>
             <enabled>true</enabled>
         </snapshots>
         <url>https://oss.sonatype.org/content/groups/public/</url>
     </repository>
</repositories>

This repositories releases will be synched to maven central. Snapshots remain at sonatype.

And this is the dependency declaration in your pom:

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