sybn sybn-util 项目说明文档 - 基于java的跨数据库联合查询

SQL AST 语法树

2019-09-24
sybn

简介

sybn dao 收到 sql 语句之后, 需要先将其转换为 AST 语法树, 然后再将其中的各个节点分别处理.

本工具包的 AST 语法树为半理解解析模式, 对于解析器,转换器,执行器会各自分别检查不合法 sql.

SQL语法树结构简图

主要节点说明

  • 语法树节点分为 树节点 和 页节点
树节点
  • JOIN 查询 SubJoinQueryEntity

  • union 聚合查询 SySqlUnionEntity

  • 多表查询 MultipleSqlEntity 支持 from 和 where 子查询,

页节点
  • 单表查询 SimpleSqlEntity 等是类型, 仅查询单表, 实际分发给各个数据库的是这个类

实际执行

  • SqlDdlDaoMultipleImpl 负责所有类型的查询, 并将子查询分发给不同的 dao

  • 各个数据库的 dao (sql/mongo/solr/elastic/hbase) 都直接支持执行 SimpleSqlEntity

  • mongo dao 支持直接执行带有 from 子查询的 MultipleSqlEntity, 但是不支持 where 子查询

相关页面


Similar Posts

上一篇 mongo 数据查询

下一篇 EsDao 介绍

Comments

暂不开放评论! 可微信联系