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 子查询
sql查询接口
sql查询实现:跨数据库联合查询
sql查询实现:list / stream
sql查询实现:stream多路异步查询
sql查询实现:mongodb
sql查询实现:Hbase
sql查询实现:elastic
CrudQueryCommonDao / CrudQueryCommonStreamDao 通用查询接口
quick-start