Repolode
JSQLParser

JSQLParser/JSqlParser

SQL文をたどれるJavaオブジェクトのツリーに変換し、SQLテキストに戻せるJava製SQLパーサーです。

スター
5,975
フォーク
1,446
未解決の Issue
8
最終コミット
一昨日

これは何?

JSqlParserはSQL文をJavaクラスの階層構造に解析します。Visitorパターンでたどったり、書き換えたり、SQLとして出力したりできます。RDBMSに依存せず、MySQL、PostgreSQL、Oracle、SQL Server、BigQuery、Snowflake、DuckDB、SQLiteなどの方言をひとつの文法で扱い、特殊なケースには方言オプションを用意しています。

解析に加えて、文が行を返すかデータを変更するかで分類できます。これにより、読み取り専用のガードを実装したり、クエリ実行と更新実行を選び分けたりできます。fluent APIを使ってJavaから文を組み立て、SQLテキストにシリアライズすることもできます。Piped SQL構文への対応は開発中です。

JDK 11の実行環境が必要で、Maven Centralから配布されています。現在も積極的にメンテナンスされているManticoreビルドが、古いupstreamリリースより推奨されています。

主な機能

  • 01SQLをVisitorパターンでたどれるJavaオブジェクトのツリーに解析する
  • 02オブジェクトモデルをSQLテキストに変換する
  • 03MySQL、PostgreSQL、Oracle、SQL Server、BigQueryなど、多くの方言に対応する
  • 04文が行を返すか、データを変更するかで分類する
  • 05fluent APIを使ってJavaからSQL文を構築する

ユースケース

  • Javaアプリケーションで実行前にSQLクエリを書き換えたり監査したりする
  • 読み取り専用のデータベース接続でデータ変更文をブロックする
  • 分析やデータリネージツール向けに、クエリが参照するテーブルやカラムを抽出する
  • JavaコードからSQLをプログラムで生成する

クイックスタート

  1. 1

    Maven の pom.xml に Manticore のビルド依存関係を追加します

  2. 2

    CCJSqlParserUtil.parse で SQL 文を解析し、生成されたツリーをたどります

使う前に知っておきたいこと

  • ソースからビルドするには JDK 17 のツールチェーンが必要です。
  • 上流の Maven Central リリースはかなり古いため、README では Manticore ビルドが推奨されています。

収録されている特集

トピック

#sql#parser#java#ast#database#sql-parser#visitor-pattern#hierarchy#jsqlparser#mysql

よくある質問

JSqlParser とは?
SQL文をたどれるJavaオブジェクトのツリーに変換し、SQLテキストに戻せるJava製SQLパーサーです。 JSqlParserはSQL文をJavaクラスの階層構造に解析します。Visitorパターンでたどったり、書き換えたり、SQLとして出力したりできます。RDBMSに依存せず、MySQL、PostgreSQL、Oracle、SQL Server、BigQuery、Snowflake、DuckDB、SQLiteなどの方言をひとつの文法で扱い、特殊なケースには方言オプションを用意しています。
JSqlParser は無料で使えますか?ライセンスは?
JSqlParser は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
JSqlParser は今もメンテナンスされていますか?
活発にメンテナンス中。JSqlParser の最終コミットは 2026年11月5日 です。
JSqlParser は何に使えますか?
Javaアプリケーションで実行前にSQLクエリを書き換えたり監査したりする 読み取り専用のデータベース接続でデータ変更文をブロックする 分析やデータリネージツール向けに、クエリが参照するテーブルやカラムを抽出する JavaコードからSQLをプログラムで生成する
JSqlParser のインストール方法は?
Maven の pom.xml に Manticore のビルド依存関係を追加します CCJSqlParserUtil.parse で SQL 文を解析し、生成されたツリーをたどります
JSqlParser はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/JSQLParser/JSqlParser

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

アカウント不要の無料ブラウザベースのデータベーススキーマエディター。ER図を作成し、SQLスクリプトを生成できます。

開発ツール#database-design#erd#sql
4万+77 今週3357JavaScriptAGPL-3.0活発にメンテナンス更新 14 時間前