Biblioteca Go e CLI que analisa SQL no dialeto ClickHouse em uma AST tipada e formata ou embeleza consultas.
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
Adicione a dependência de build do Manticore ao seu pom.xml do Maven
- 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
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
Editor gratuito de esquemas de banco de dados no navegador que cria diagramas ER e gera scripts SQL, sem exigir cadastro.
Cliente de banco de dados nativo, gratuito e de código aberto para macOS e iOS, com suporte a bancos SQL e NoSQL, chat com IA integrado e servidor MCP.
Cliente de banco de dados com TUI para PostgreSQL, MySQL, SQLite, DuckDB e outros, com atalhos de teclado no estilo do Vim.
IDE nativa de banco de dados para macOS, Windows e Linux, compatível com PostgreSQL, MySQL, SQLite, Redis, MongoDB, SQL Server e ClickHouse, com servidor MCP integrado e chat com IA.
Cliente de banco de dados com IA e servidor MCP para desktop e web, compatível com Postgres, MySQL, MariaDB, SQL Server, ClickHouse e SQLite.