Look here for more information and examples: https://github.com/JSQLParser/JSqlParser/wiki.
JSqlParser is dual licensed under LGPL V2.1 and Apache Software License, Version 2.0.
- breaking API change: merge of within group and over (window expressions)
- Released version 1.1 of JSqlParser.
- JSqlParser has now a build in checkstyle configuration to introduce source code conventions.
- Released first major version 1.0 of JSqlParser.
- Please test the actual 0.9.8-SNAPSHOT. It includes includes grammar refactorings or changes which eventually results in parse tree changes.
- Version 0.9.7 released.
- Version 0.9.6 released.
- Version 0.9.5 released.
- Please test the actual 0.9.5-SNAPSHOT. It includes some grammar refactorings which eventually results in parse tree changes.
- Version 0.9.4 released.
- 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 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.
If you need help using JSqlParser feel free to file an issue or contact me.
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.
- breaking API change: merge of within group and over (window expressions)
- first support for use statements
- first support for call statements
- create table allows now quoted identifiers within primary key definition
- introduced alias for subquery in combination with a pivot definition (this changes alias handling within the library for pivot sqls)
- force the parser to fully parse a String using parseCondExpression or parseExpression
- Release Notes
- Modifications before GitHubs release tagging are listed in the Older Releases page.
As the project is a Maven project, building is rather simple by running:
mvn package
The project requires the following to build:
- Maven
- JDK 1.7 or later. The jar will target JDK 1.6, but the version of the maven-compiler-plugin that JsqlParser uses requires JDK 1.7+
This will produce the jsqlparser-VERSION.jar file in the target/ directory.
To build this project without using Maven, one has to build the parser by JavaCC using the CLI options it provids.
Recently a checkstyle process was integrated into the build process. JSqlParser follows the sun java format convention. There are no TABs allowed. Use spaces.
public void setUsingSelect(SubSelect usingSelect) {
this.usingSelect = usingSelect;
if (this.usingSelect != null) {
this.usingSelect.setUseBrackets(false);
}
}
This is a valid piece of source code:
- blocks without braces are not allowed
- after control statements (if, while, for) a whitespace is expected
- the opening brace should be in the same line as the control statement
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>1.1</version>
</dependency>