用中文进行大数据查询

如何降低人们使用数据的门槛,这是一个有意思,而又不那么容易回答的问题。大家习惯从WYSIWYG(What You See Is What You Get)的角度去出发,由此诞生了一些列的分析工具,例如Tableau,Pentaho

但是在拖拽语义和查询语义的表达和翻译上,总会产生歧义,这样的结果势必就造成了,如果我们更倾向于降低门槛,那我们就必须舍弃一部分功能,如果我们选择了功能,那么我们就需要让渡一些易用性了。

对于熟悉使用SQL的人来说,可能没有什么比直接使用SQL更简单的方式来获取数据了。 但是非技术人员,看到SQL可能就像看天书了。

**_我实现了一个简版的中文查询的DSL,下面我们通过一个实例,来讲解一下这个DSL,以及他是如何实现的!

_**

实例

==

从技术上讲,这也是一门DSL,只是用中文来做了关键字。下面我们来看一个实例:

查询 {

本次 使用 数据库{

// username=“1”

// password=“1”

//                url=“jdbc:mysql://localhost:3306/1”

// driver=“com.mysql.jdbc.Driver”

}

本次 表 组(“gtp_user”,“gtp_user_role”)

本次 字段 组(“gtp_user.name”,“gtp_user_role.role_id”)

本次 条件 “gtp_user.name = ‘admin’”

本次 聚合 组(“gtp_user.name”,“gtp_user_role.role_id”)

本次 排序 组(“gtp_user_role.role_id”)

本次 截取 (1 到 11)

} 画 线图

下面我们来逐步解析这个案例,首先构建一个查询,这其实是在构建一个查询对象,在这个查询对象的作用域内,本次代表当前的查询。

说明

==

首先需要指定使用的数据库,本次 使用 数据库 {} 里面可以使用你自己的数据源,去掉注释,修改成你自己的数据源即可。目前只设置了基础属性。

现在支持的查询谓词: 字段条件聚合排序截取

支持的动作谓词: 线图饼图)、 (CSVHTMLJSON

其他: 

:用来设置查询的表,输入 表名,必填属性,需要使用双引号括起来。可与组联用。

字段:用来设置查询字段,输入 表名.字段名 ,必填属性,需要使用双引号括起来。可与组联用。

总结

在这里,由于面试中MySQL问的比较多,因此也就在此以MySQL为例为大家总结分享。但是你要学习的往往不止这一点,还有一些主流框架的使用,Spring源码的学习,Mybatis源码的学习等等都是需要掌握的,我也把这些知识点都整理起来了

面试真题

Spring源码笔记

码的学习等等都是需要掌握的,我也把这些知识点都整理起来了

[外链图片转存中…(img-7tIdHWGL-1721194731784)]

[外链图片转存中…(img-m6z33RfY-1721194731785)]

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值