自动生成HQL代码的工具

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
简介: 本文介绍了一个可视化工具,可以通过界面增删指标并快速选择指标类型,实现快速指标更改增删,将原本1小时的工作量缩减到1分钟,提高开发效率。同时,工具可以保存配置信息快照,方便复用,并且不依赖于第三方编程语言的运行环境,降低了用户使用难度。主界面包括表的基本信息、执行按钮、代码显示窗口和表配置标签,支持一次性生成多个不同表的代码。

本文通过可视化界面增删指标,通过下拉列表快速选择指标类型,对同一份指标可以一次性生成多个版本的代码,实现快速指标更改增删,将原本1小时的工作量缩减到1分钟,极大提高了开发效率。同时本文可以保存配置信息快照,方便复用,减少多次输入参数的麻烦,并且工具运行不依赖于第三方编程语言的运行环境,大大降低了用户使用难度,同时保留了用户可编程接口方便用户个性化修改。

主界面:

 

image.png

1 本方案工具主界面

 

如图1所示,主界面主要包括四部分,表的配置表的基本信息,执行按钮,代码显示窗口,表配置标签。其中表配置标签是切换到具体表的的配置信息界面,本工具支持一次性生成多个不同表的代码,如“表一”,“表二”。

表配置界面:

image.png

2 表配置界面

其中红框内的参数都具有下拉功能,可以快速配置。用户只需要填入表名,库名,字段名和中文注释,以及选择是否为分区字段即可。“表一”字样可以更改为其它用户方便记忆的汉字或英文,最终显示在主界面的中文表名字段里。

下拉选项已覆盖HQL表配置涉及的95%参数功能,表字段可以成批量粘贴复制。

image.png

3 执行-生成代码界面

 

配置好“表一”“表二”之后,切回主界面,点击“生成表目录”会如上图生成表的基本信息,然后点解“生成sql”会生成HQL代码,如图3所示。

image.png

4 质心合并仿照层次聚类的思想进行

 

弹窗提示生成的代码的保存路径,如图4所示。

image.png

5 生成代码可视化界面

 

主界面同时会把生成的代码同步显示出来。生成的文件与工具统一路径下,如图6所示:

image.png

6 代码文件示例

 

打开生成的代码文件如下图可见,有完整的建表语句,使用的数据库,注释,类型,别名,配套的查询代码及别名,当我们要更改增删指标时可以快速更新代码,如图7,8所示。

image.png

7 代码文件展示1

 

image.png

image.png

image.png

8 代码文件展示2

 

实现原理:

image.png

9 主界面生成目录逻辑

 

 image.png

image.png

image.png

10 代码生成逻辑

 

目录
相关文章
|
6月前
|
SQL 数据库 数据库管理
python自动生成SQL语句自动化
python自动生成SQL语句自动化
289 1
|
6月前
|
Oracle 关系型数据库 MySQL
java-自动生成数据库设计文档
java-自动生成数据库设计文档
java-自动生成数据库设计文档
|
6月前
|
C# Python
如何让 StyleCop 忽略 refit 自动生成的代码
创建自定义规则:我们需要创建一个自定义规则,该规则将用于排除特定类型的代码,我们可以创建一个自定义规则,用于检查类名是否以大写字母开头,然后忽略符合此规则的代码。
Mybatis-plus-generator代码自动生成工具
Mybatis-plus-generator代码自动生成工具
94 0
|
6月前
|
SQL JavaScript 前端开发
若依框架代码自动生成器研究----表查询篇
若依框架代码自动生成器研究----表查询篇
503 0
|
数据库
代码自动生成工具实战-Cursor
之前看过github copilot 的代码生成能力。可以说解放了码农的双手,基础的代码完全可以来生成。可是后来它收费了。
282 0
|
SQL Java 数据库连接
MyBatis-Plus代码自动生成工具
MyBatis-Plus代码自动生成工具
315 0
MyBatis-Plus代码自动生成工具
|
SQL JSON DataWorks
【教程】利用宜撘实现自动生成业务SQL功能
模板地址: https://yida.alibaba-inc.com/newApp.html?#/template/TPL_LPS8OWKVUIEHEVM80XFN?_k=z3r1e4 背景: 之前在内网上有讨论SQL算不算是编程语言,一石激起千层浪,大家参与度非常高,有很多运营同学也表示会用SQL,我觉得这个是很好的现象。编程语言只是解决问题的工具,黑猫白猫,能抓到老鼠就是好猫。 这个问
1294 0
|
SQL Java 数据库连接
AOSuite自动生成持久层代码
AOSuite自动生成持久层代码
122 0
|
SQL 小程序 数据可视化