Skip to content

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

Notifications You must be signed in to change notification settings

ericsun2/JSqlParser

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

  • Please test the actual SNAPSHOT, if there are problems using the extended identifier token.
  • 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
  • fund new features

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

Extensions in the latest SNAPSHOT version 0.9.4

  • improved interval expression syntax
  • support of hex values (0xabc54, x'abc567') added
  • support of (e.g. @@SPID) system parameters
  • support of signed parameters added
SELECT * FROM mytable WHERE -? < 4
  • support for SELECT SKIP FIRST ...
  • Completely rewritten S_IDENTIFIER rule to accept hopefully all possible UTF-8 letters without specifying some additional rules.
  • allow Server within multipart names to act as database link
  • 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>

About

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

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 97.4%
  • PLSQL 2.3%
  • Other 0.3%