Repolode
JSQLParser

JSQLParser/JSqlParser

Parser SQL para Java que transforma instruções SQL em uma árvore navegável de objetos Java e pode convertê-las de volta em texto SQL.

Estrelas
5,975
Forks
1,446
Issues abertas
8
Último commit
anteontem

O que é?

O JSqlParser analisa uma instrução SQL e a transforma em uma hierarquia de classes Java que pode ser percorrida com o padrão Visitor, reescrita e impressa novamente como SQL. É independente de RDBMS: uma gramática abrange dialetos como MySQL, PostgreSQL, Oracle, SQL Server, BigQuery, Snowflake, DuckDB e SQLite, com opções de dialeto para casos específicos.

Além de analisar instruções, o projeto pode classificá-las de acordo com o fato de retornarem linhas ou modificarem dados, o que ajuda a criar controles de somente leitura ou a escolher entre executar uma consulta ou uma atualização. Também é possível criar instruções com uma API fluente em Java e serializá-las como texto SQL. A sintaxe Piped SQL está em desenvolvimento.

É necessário ter um runtime JDK 11. O projeto é distribuído pelo Maven Central, e as versões Manticore, mantidas ativamente, são recomendadas em vez da versão upstream mais antiga.

Recursos principais

  • 01Analisa SQL e o transforma em uma árvore de objetos Java que pode ser percorrida com o padrão Visitor
  • 02Converte o modelo de objetos de volta em texto SQL
  • 03Abrange vários dialetos, incluindo MySQL, PostgreSQL, Oracle, SQL Server e BigQuery
  • 04Classifica instruções de acordo com o fato de retornarem linhas ou modificarem dados
  • 05Cria instruções SQL em Java com uma API fluente

Casos de uso

  • Reescrever ou auditar consultas SQL em uma aplicação Java antes da execução
  • Bloquear instruções que modificam dados em conexões de banco de dados somente leitura
  • Extrair as tabelas e colunas referenciadas por uma consulta para análise ou ferramentas de linhagem de dados
  • Gerar SQL programaticamente a partir de código Java

Início rápido

  1. 1

    Adicione a dependência de build do Manticore ao seu pom.xml do Maven

  2. 2

    Analise uma instrução SQL com CCJSqlParserUtil.parse e percorra a árvore resultante

Antes de usar

  • Para compilar a partir do código-fonte, é necessário um toolchain JDK 17.
  • O README recomenda builds do Manticore porque a versão upstream no Maven Central é consideravelmente mais antiga.

Em coleções

Tópicos

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

Perguntas frequentes

O que é JSqlParser?
Parser SQL para Java que transforma instruções SQL em uma árvore navegável de objetos Java e pode convertê-las de volta em texto SQL. O JSqlParser analisa uma instrução SQL e a transforma em uma hierarquia de classes Java que pode ser percorrida com o padrão Visitor, reescrita e impressa novamente como SQL. É independente de RDBMS: uma gramática abrange dialetos como MySQL, PostgreSQL, Oracle, SQL Server, BigQuery, Snowflake, DuckDB e SQLite, com opções de dialeto para casos específicos.
JSqlParser é gratuito? Qual é a licença?
JSqlParser é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
JSqlParser ainda é mantido?
Manutenção ativa. O último commit de JSqlParser foi em 5 de nov. de 2026.
Para que posso usar JSqlParser?
Reescrever ou auditar consultas SQL em uma aplicação Java antes da execução Bloquear instruções que modificam dados em conexões de banco de dados somente leitura Extrair as tabelas e colunas referenciadas por uma consulta para análise ou ferramentas de linhagem de dados Gerar SQL programaticamente a partir de código Java
Como instalar JSqlParser?
Adicione a dependência de build do Manticore ao seu pom.xml do Maven Analise uma instrução SQL com CCJSqlParserUtil.parse e percorra a árvore resultante
Onde consigo JSqlParser?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/JSQLParser/JSqlParser

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados