# JSqlParser
**Repository Path**: hub-image/JSqlParser
## Basic Information
- **Project Name**: JSqlParser
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 1
- **Created**: 2021-10-28
- **Last Updated**: 2024-05-29
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# JSqlParser
[](https://travis-ci.com/JSQLParser/JSqlParser) [](https://coveralls.io/r/JSQLParser/JSqlParser?branch=master)
[](https://www.codacy.com/gh/JSQLParser/JSqlParser/dashboard?utm_source=github.com&utm_medium=referral&utm_content=JSQLParser/JSqlParser&utm_campaign=Badge_Grade)
[](http://maven-badges.herokuapp.com/maven-central/com.github.jsqlparser/jsqlparser)
[](https://www.javadoc.io/doc/com.github.jsqlparser/jsqlparser)
[](https://gitter.im/JSQLParser/JSqlParser?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
[](https://lgtm.com/projects/g/JSQLParser/JSqlParser/context:java)
[](https://lgtm.com/projects/g/JSQLParser/JSqlParser/alerts)
Look here for more information and examples: https://github.com/JSQLParser/JSqlParser/wiki.
## License
JSqlParser is dual licensed under **LGPL V2.1** or **Apache Software License, Version 2.0**.
## Discussion
Please provide feedback on:
* API changes: extend visitor with return values (https://github.com/JSQLParser/JSqlParser/issues/901)
## News
* Released version **4.2** of JSqlParser
* Released version **4.1** of JSqlParser
* Released version **4.0** of JSqlParser
* The array parsing is the default behaviour. Square bracket quotation has to be enabled using
a parser flag (**CCJSqlParser.withSquareBracketQuotation**).
* due to an API change the version will be 3.0
* JSqlParser uses now Java 8 at the minimum
More news can be found here: https://github.com/JSQLParser/JSqlParser/wiki/News.
## Alternatives to JSqlParser?
[**General SQL Parser**](http://www.sqlparser.com/features/introduce.php?utm_source=github-jsqlparser&utm_medium=text-general) 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.
## 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 JSqlParser's development you are encouraged to provide
* feedback
* bugreports
* pull requests for new features
* improvement requests
* fund new features or sponsor JSqlParser ([**Sponsor**](https://www.paypal.me/wumpz))
**Please write in English, since it's the language most of the dev team knows.**
Also I would like to know about needed examples or documentation stuff.
## Extensions in the latest SNAPSHOT version 4.3
Additionally, we have fixed many errors and improved the code quality and the test coverage.
## Extensions of JSqlParser releases
* [Release Notes](https://github.com/JSQLParser/JSqlParser/releases)
* Modifications before GitHub's release tagging are listed in the [Older Releases](https://github.com/JSQLParser/JSqlParser/wiki/Older-Releases) page.
## Building from the sources
As the project is a Maven project, building is rather simple by running:
```shell
mvn package
```
Since 4.2, alternatively Gradle can be used
```shell
gradle build
```
The project requires the following to build:
- Maven (or Gradle)
- JDK 8 or later. The jar will target JDK 8, but the version of the maven-compiler-plugin that JsqlParser uses requires JDK 8+
This will produce the jsqlparser-VERSION.jar file in the `target/` directory (`build/libs/jsqlparser-VERSION.jar` in case of Gradle).
**To build this project without using Maven or Gradle, one has to build the parser by JavaCC using the CLI options it provides.**
## Debugging through problems
Refer to the [Visualize Parsing](https://github.com/JSQLParser/JSqlParser/wiki/Examples-of-SQL-parsing#visualize-parsing) section to learn how to run the parser in debug mode.
## Source Code conventions
Recently a checkstyle process was integrated into the build process. JSqlParser follows the sun java format convention. There are no TABs allowed. Use spaces.
```java
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
## 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:
```xml
jsqlparser-snapshots
true
https://oss.sonatype.org/content/groups/public/
```
This repositories releases will be synched to maven central. Snapshots remain at sonatype.
And this is the dependency declaration in your pom:
```xml
com.github.jsqlparser
jsqlparser
4.2
```