Repolode
JSQLParser

JSQLParser/JSqlParser

Un parser SQL para Java que convierte sentencias SQL en un árbol navegable de objetos Java y puede volver a generar el texto SQL.

Estrellas
5,975
Forks
1,446
Issues abiertos
8
Último commit
anteayer

¿Qué es?

JSqlParser analiza sentencias SQL y las convierte en una jerarquía de clases Java que se puede recorrer con el patrón Visitor, modificar y volver a imprimir como SQL. No depende de ningún RDBMS: una misma gramática cubre dialectos como MySQL, PostgreSQL, Oracle, SQL Server, BigQuery, Snowflake, DuckDB y SQLite, con opciones específicas para casos límite.

Además de analizar sentencias, el proyecto puede clasificarlas según si devuelven filas o modifican datos, lo que ayuda a crear controles de solo lectura o a elegir entre ejecutar una consulta o una actualización. También se pueden construir sentencias desde Java con una API fluida y serializarlas como texto SQL. La sintaxis de SQL con tuberías está en desarrollo.

Requiere un entorno de ejecución JDK 11 y se distribuye a través de Maven Central. Se recomiendan las compilaciones de Manticore, que reciben mantenimiento activo, frente a la versión upstream anterior.

Funciones clave

  • 01Analiza SQL y lo convierte en un árbol de objetos Java que se puede recorrer con el patrón Visitor
  • 02Convierte el modelo de objetos de nuevo a texto SQL
  • 03Admite muchos dialectos, incluidos MySQL, PostgreSQL, Oracle, SQL Server y BigQuery
  • 04Clasifica las sentencias según si devuelven filas o modifican datos
  • 05Construye sentencias SQL desde Java con una API fluida

Casos de uso

  • Modificar o auditar consultas SQL en una aplicación Java antes de ejecutarlas
  • Bloquear sentencias que modifican datos en conexiones de base de datos de solo lectura
  • Extraer las tablas y columnas referenciadas por una consulta para analizarlas o usarlas en herramientas de linaje de datos
  • Generar SQL mediante programación desde código Java

Inicio rápido

  1. 1

    Añade la dependencia de compilación de Manticore a tu pom.xml de Maven

  2. 2

    Analiza una sentencia SQL con CCJSqlParserUtil.parse y recorre el árbol resultante

Antes de usarlo

  • Para compilar desde el código fuente se necesita una cadena de herramientas JDK 17.
  • El README recomienda las compilaciones de Manticore porque la versión publicada en Maven Central por el proyecto original es considerablemente más antigua.

En colecciones

Temas

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

Preguntas frecuentes

¿Qué es JSqlParser?
Un parser SQL para Java que convierte sentencias SQL en un árbol navegable de objetos Java y puede volver a generar el texto SQL. JSqlParser analiza sentencias SQL y las convierte en una jerarquía de clases Java que se puede recorrer con el patrón Visitor, modificar y volver a imprimir como SQL. No depende de ningún RDBMS: una misma gramática cubre dialectos como MySQL, PostgreSQL, Oracle, SQL Server, BigQuery, Snowflake, DuckDB y SQLite, con opciones específicas para casos límite.
¿JSqlParser es gratuito? ¿Qué licencia tiene?
JSqlParser es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿JSqlParser sigue mantenido?
Mantenimiento activo. El último commit de JSqlParser fue el 5 nov 2026.
¿Para qué puedo usar JSqlParser?
Modificar o auditar consultas SQL en una aplicación Java antes de ejecutarlas Bloquear sentencias que modifican datos en conexiones de base de datos de solo lectura Extraer las tablas y columnas referenciadas por una consulta para analizarlas o usarlas en herramientas de linaje de datos Generar SQL mediante programación desde código Java
¿Cómo se instala JSqlParser?
Añade la dependencia de compilación de Manticore a tu pom.xml de Maven Analiza una sentencia SQL con CCJSqlParserUtil.parse y recorre el árbol resultante
¿Dónde consigo JSqlParser?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/JSQLParser/JSqlParser

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados

Editor gratuito de esquemas de bases de datos en el navegador que crea diagramas ER y genera scripts SQL, sin necesidad de cuenta.

Herramientas para desarrolladores#database-design#erd#sql
40,3 mil+77 esta semana3,4 milJavaScriptAGPL-3.0Bien mantenidoActualizado hace 5 horas