All Projects → JSQLParser → Jsqlparser

JSQLParser / Jsqlparser

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

Programming Languages

java
68154 projects - #9 most used programming language
PLSQL
303 projects

Projects that are alternatives of or similar to Jsqlparser

Smartsql
SmartSql = MyBatis in C# + .NET Core+ Cache(Memory | Redis) + R/W Splitting + PropertyChangedTrack +Dynamic Repository + InvokeSync + Diagnostics
Stars: ✭ 775 (-77.24%)
Mutual labels:  oracle, sql, mysql, postgresql, sqlserver
Jooq
jOOQ is the best way to write SQL in Java
Stars: ✭ 4,695 (+37.89%)
Mutual labels:  oracle, sql, mysql, postgresql, sqlserver
Kangaroo
SQL client and admin tool for popular databases
Stars: ✭ 127 (-96.27%)
Mutual labels:  oracle, sql, mysql, postgresql, sqlserver
Xo
Command line tool to generate idiomatic Go code for SQL databases supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server
Stars: ✭ 2,974 (-12.66%)
Mutual labels:  oracle, sql, mysql, postgresql
Sqlfiddle3
New version based on vert.x and docker
Stars: ✭ 242 (-92.89%)
Mutual labels:  oracle, sql, mysql, postgresql
E Commerce Db
Database schema for e-commerce (webstores) sites.
Stars: ✭ 245 (-92.8%)
Mutual labels:  oracle, sql, mysql, postgresql
Linq2db
Linq to database provider.
Stars: ✭ 2,211 (-35.07%)
Mutual labels:  oracle, sql, mysql, postgresql
Ezsql
PHP class to make interacting with a database ridiculusly easy
Stars: ✭ 804 (-76.39%)
Mutual labels:  oracle, sql, mysql, sqlserver
Rom Sql
SQL support for rom-rb
Stars: ✭ 169 (-95.04%)
Mutual labels:  oracle, sql, mysql, postgresql
Koolreport
This is an Open Source PHP Reporting Framework which you can use to write perfect data reports or to construct awesome dashboards using PHP
Stars: ✭ 204 (-94.01%)
Mutual labels:  oracle, mysql, postgresql, sqlserver
Ebean
Ebean ORM
Stars: ✭ 1,172 (-65.58%)
Mutual labels:  oracle, sql, mysql, sqlserver
Csv2db
The CSV to database command line loader
Stars: ✭ 102 (-97%)
Mutual labels:  oracle, mysql, postgresql, sqlserver
Sqlcheck
Automatically identify anti-patterns in SQL queries
Stars: ✭ 2,062 (-39.44%)
Mutual labels:  oracle, sql, mysql, postgresql
Freesql
🦄 .NET orm, Mysql orm, Postgresql orm, SqlServer orm, Oracle orm, Sqlite orm, Firebird orm, 达梦 orm, 人大金仓 orm, 神通 orm, 翰高 orm, 南大通用 orm, Click house orm, MsAccess orm.
Stars: ✭ 3,077 (-9.63%)
Mutual labels:  oracle, mysql, postgresql, sqlserver
Qxorm
QxOrm library - C++ Qt ORM (Object Relational Mapping) and ODM (Object Document Mapper) library - Official repository
Stars: ✭ 176 (-94.83%)
Mutual labels:  oracle, mysql, postgresql, sqlserver
Eosio sql plugin
EOSIO sql database plugin
Stars: ✭ 21 (-99.38%)
Mutual labels:  oracle, sql, mysql, postgresql
Liquibase
Main Liquibase Source
Stars: ✭ 2,910 (-14.54%)
Mutual labels:  oracle, sql, mysql, sqlserver
Sqlinjectionwiki
A wiki focusing on aggregating and documenting various SQL injection methods
Stars: ✭ 623 (-81.7%)
Mutual labels:  oracle, sql, mysql, sqlserver
Zxw.framework.netcore
基于EF Core的Code First模式的DotNetCore快速开发框架,其中包括DBContext、IOC组件autofac和AspectCore.Injector、代码生成器(也支持DB First)、基于AspectCore的memcache和Redis缓存组件,以及基于ICanPay的支付库和一些日常用的方法和扩展,比如批量插入、更新、删除以及触发器支持,当然还有demo。欢迎提交各种建议、意见和pr~
Stars: ✭ 691 (-79.71%)
Mutual labels:  oracle, mysql, postgresql, sqlserver
Ddlparse
DDL parase and Convert to BigQuery JSON schema and DDL statements
Stars: ✭ 52 (-98.47%)
Mutual labels:  oracle, sql, mysql, postgresql

JSqlParser

Build Status Coverage Status Codacy Badge Maven Central Javadocs

Gitter Code Quality: Java Total 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:

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 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)

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.4

Additionally, we have fixed many errors and improved the code quality and the test coverage.

Extensions of JSqlParser releases

Building from the sources

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

mvn package

Since 4.2, alternatively Gradle can be used

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 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.

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:

<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>4.2</version>
</dependency>
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].