sybn dao 收到 sql 语句之后, 需要先将其转换为 AST 语法树, 然后再将其中的各个节点分别处理.
本工具包的 AST 语法树为半理解解析模式, 对于解析器,转换器,执行器会各自分别检查不合法 sql.
mongo dao 提供简便的 mongo 数据库操作 ORM, 支持数据 CRUD 以及 sql 查询, 直接 jdbc driver 查询等.
通过 mongo dao, 没有任何 mongo 基础的开发人员可以将 mongo 直接当作 sql 数据库来使用, 降低上手成本。
因为 mongo 的某些特性, 某些 sql 准换为 mongo 查询的结果可能与 mysql 有所不同, 比如 1 != ‘1’ 等.
本文主要介绍使用 sql 查询 mongo 的能力。
DatasJoinUtil 与 DatasSqlJoinUtil 支持 list / stream 互相 join 操作. 其语法和效果类似与 sql 的 join .
DatasJoinUtil 与 DatasSqlJoinUtil 语法一致, 但实现逻辑略有差异, 其中:
DatasJoinUtil 只需指定想左表插入右边中的哪些字段, 默认会返回左表中的所有字段.
DatasSqlJoinUtil 必须指定返回哪些字段, 左边中未指定的字段不会返回. 其效果更接近 sql.
以下是 DatasJoinUtil 的使用介绍.
SybnDaoDriver 可以作为 mongo, solr, hbase, elastic, redis 等数据源的 jdbc 简易驱动使用.
SybnDaoDriver 的底层实现是 SqlDdlDao, 因此支持 SqlDdlDao 的所有 sql 特性.
SybnDaoDriver 目前只支持 select, show tables 等查询, 暂时只允许单表查询.
因为 SqlDdlDao 短期内暂不考虑支持使用 sql 修改数据, 所以 SybnDaoDriver 短期内也不支持.
如需修改数据,可以使用 SqlDdlDao 中的 commonSave 和 commonUpdate 等方法.
sybn dao 是一个基于异构数据查询 java 工具 (效果有类似于apache.calcite),支持用 sql 联合查询 mongo, solr, elastic, Hbase, redis, List, Stream, json, excel, csv, jdbc(mysql, presto, gbase, hive2), 等数据源。
这里准备了专门的 web 版的 adhoc 查询环境 (类似于 hadoop 的 HUE),用于测试不同数据库的 sql 查询效果。
所有测试 sql 仅作为抛砖引玉,大家可以按自己的兴趣尝试修改和测试。
注: 本工具对于sql规范的支持说明: 点此查看
依赖 jre 1.8+
依赖 slf4j (默认不自动引入 slf4j 实现)
支持与 spring boot / spring data / spring mvc / hibernate / spark / spark sql 等生态系统共存