跳到主要内容
Java 8 · Druid 1.2.28 · 15+ 方言

SqlParserX

多方言 SQL 解析引擎与工具包

SQL 类型识别 · 表与字段血缘 · 表/DDL 解析 · 函数提取 · 参数提取与预编译

  • 15数据源方言
  • 6核心解析能力
  • 2层统一架构
  • 100%Java 8 兼容
LineagePreview
SQL 输入
INSERT INTO dwd.order_di
SELECT o.id, u.name, o.amount
FROM ods.orders o
JOIN ods.users u ON o.uid = u.id;
解析结果
✓表血缘ods.orders → dwd.order_di
✓表血缘ods.users → dwd.order_di
✓字段血缘ods.orders.amount → dwd.order_di.amount

已适配 15+ 数据源方言

MySQL
Hive
Doris
StarRocks
ClickHouse
Oracle
PostgreSQL
Spark
Trino
DM
OceanBase
OceanBase Oracle
SQL Server
Greenplum
TiDB
核心能力

一个引擎,覆盖 SQL 解析全链路

从方言语法到业务语义,统一契约、统一结果,开箱即用。

SQL 类型识别

识别查询、写入、建表、SHOW 与 EXPLAIN 等语句类型。

真实表与建表结构

穿透 JOIN、CTE 与子查询,解析字段、键、分区及分桶结构。

表级血缘

从 INSERT 与 CTAS 追溯来源表到目标表的数据流转关系。

字段级血缘

分析表达式、函数与 CASE 中来源字段到目标字段的映射。

函数名提取

提取普通、聚合与窗口函数名称,支持多语句解析与去重。

参数提取与预编译

提取 SELECT 动态参数,生成 JDBC 占位符 SQL 与有序绑定值。

架构设计

两层统一扩展架构

语法层基于 Druid 扩展方言 Lexer / Parser / AST,业务层通过 ISqlParser 契约扩展表解析、血缘与改写逻辑,两层由 DbType 与 AST 对齐。

  1. 1接入 SQL + DbType
  2. 2语法层解析为 Druid AST
  3. 3业务层统一解析
  4. 4表 / 血缘 / 函数 / 参数解析结果
SqlParserX 两层架构
文档站

版本 / 多语言共存

右侧导航栏即可切换版本(1.0 / Next)与语言(简体中文 / English),互不干扰。

version

准备好开始解析你的 SQL 了吗?

几分钟完成接入,体验多方言解析、血缘追溯与参数预编译能力。