[发明专利]一种配置SQL支持动态查询的方法在审
| 申请号: | 202310126534.8 | 申请日: | 2023-02-15 |
| 公开(公告)号: | CN116303711A | 公开(公告)日: | 2023-06-23 |
| 发明(设计)人: | 麦家健;罗挺 | 申请(专利权)人: | 东莞数汇大数据有限公司 |
| 主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/242;G06F16/245;G06F16/2453;G06F16/2455;G06F40/253 |
| 代理公司: | 广东科言知识产权代理事务所(普通合伙) 44671 | 代理人: | 何树良 |
| 地址: | 523000 广东省*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 配置 sql 支持 动态 查询 方法 | ||
本发明涉及计算机技术领域,提供了一种配置SQL支持动态查询的方法,用户在配置页面输入业务所需的SQL语句、查询方法名以及对应的数据源信息发送到本系统,系统通过AST语法分析引擎将SQL中的查询条件和返回数据结构解析出来并返回给页面,用户对查询条件进行修改、删减、限定是否必填,对返回结果的数据结构进行排序、删减和重命名后保存到数据库中;当系统的调用方调用本系统的接口时,通过传入查询方法名和查询参数,系统首先会从缓存中查询是否已有结果数据,如果有则直接将结果返回,如果没有则会通过AST语法分析引擎重新装载查询的SQL,将查询参数填充到SQL中组装成业务需要执行的SQL,最后将查询结果返回给调用方,同时将结果缓存到缓存系统中。
技术领域
本发明涉及计算机技术领域,具体是一种配置SQL支持动态查询的方法。
背景技术
在开发数据大屏、驾驶舱等业务的过程中,常常会出现服务端开发人员开发的接口只用来接收参数,执行DBA编写的SQL查询语句,然后将返回结果按照业务组装返回,这个过程实际上是重复并且无业务特性的,浪费了开发人员的开发时间。通过本发明可以让DBA自己配置SQL的方式达到一个接口兼容所有业务开发的效果。
发明内容
本发明提供了一种基于配置SQL语句用来支持动态查询的方法,用户可以在配置页面输入业务所需的SQL语句、查询方法名以及对应的数据源信息发送到本应用系统,系统通过内置的AST语法分析引擎将SQL中的查询条件和返回数据结构解析出来并返回给页面,用户可以对查询条件数据结构进行修改、删减、限定是否必填,对返回结果的数据结构进行排序、删减和重命名后保存到数据库中;当系统的调用方调用本系统的接口时,通过传入查询方法名和查询参数,系统首先会从缓存中查询是否已有结果数据,如果有则直接将结果返回,如果没有则会通过AST语法分析引擎重新装载查询的SQL,将查询参数填充到SQL语句中组装成业务真正需要执行的SQL,最后将返回结果按照配置的信息返回给调用方,并将结果缓存到缓存系统中。
为实现上述目的,本发明提供如下技术方案:
一种通过配置SQL支持动态查询的方法,包括以下步骤:
A.应用系统接收启动指令进行启动;
B.所述应用系统启动后,用户在应用系统的配置界面配置数据源、SQL语句以及查询方法名;
C.应用系统接收到配置界面的SQL语句、数据源和查询方法名后,通过数据源连接到数据库,验证SQL语句的有效性,验证完成后将SQL语句在AST语法分析引擎中解析查询SQL,解析后将得到SQL语句中包含的查询条件和返回数据接结构,将查询条件和返回数据结构返回给配置界面;
D.配置界面上用户可以修改返回的查询条件是否必填,同时用户还可以对返回结果字段的名称修改;
E.应用系统的调用方通过查询方法名和查询参数请求应用系统的查询接口,应用系统将查询方法名和查询SQL条件通过MD5格式化成字符串,然后于缓存系统中获取结果,若缓存系统取得了结果则直接返回给调用方,流程结束;若缓存系统中没有数据,则继续进行步骤F;
F.应用系统通过查询方法名从数据库中将配置好的查询SQL取出,通过AST语法分析引擎将查询SQL和传入参数重新组装成业务查询语句,再将业务查询SQL发送到数据库中请求查询结果;
G.应用系统获取到数据库返回的结果后,将结果按照配置的结果数据类型格式化返回结果数据,再将返回结果和MD5格式化结果组合成键值对保存到缓存系统中,并返回结果给调用方。
其中,在步骤D中,用户修改返回的查询条件的方式包括支持删除查询条件以及修改查询条件是否必填中的一种或多种。
其中,在步骤D中,用户对返回结果字段的名称修改的方式包括支持删除返回结果字段以及排序操作以及完成操作后提交保存到应用系统中的一种或多种。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东莞数汇大数据有限公司,未经东莞数汇大数据有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310126534.8/2.html,转载请声明来源钻瓜专利网。





