一种配置SQL支持动态查询的方法技术

技术编号:38015449 阅读:14 留言:0更新日期:2023-06-30 10:40
本发明专利技术涉及计算机技术领域,提供了一种配置SQL支持动态查询的方法,用户在配置页面输入业务所需的SQL语句、查询方法名以及对应的数据源信息发送到本系统,系统通过AST语法分析引擎将SQL中的查询条件和返回数据结构解析出来并返回给页面,用户对查询条件进行修改、删减、限定是否必填,对返回结果的数据结构进行排序、删减和重命名后保存到数据库中;当系统的调用方调用本系统的接口时,通过传入查询方法名和查询参数,系统首先会从缓存中查询是否已有结果数据,如果有则直接将结果返回,如果没有则会通过AST语法分析引擎重新装载查询的SQL,将查询参数填充到SQL中组装成业务需要执行的SQL,最后将查询结果返回给调用方,同时将结果缓存到缓存系统中。将结果缓存到缓存系统中。将结果缓存到缓存系统中。

【技术实现步骤摘要】
一种配置SQL支持动态查询的方法


[0001]本专利技术涉及计算机
,具体是一种配置SQL支持动态查询的方法。

技术介绍

[0002]在开发数据大屏、驾驶舱等业务的过程中,常常会出现服务端开发人员开发的接口只用来接收参数,执行DBA编写的SQL查询语句,然后将返回结果按照业务组装返回,这个过程实际上是重复并且无业务特性的,浪费了开发人员的开发时间。通过本专利技术可以让DBA自己配置SQL的方式达到一个接口兼容所有业务开发的效果。

技术实现思路

[0003]本专利技术提供了一种基于配置SQL语句用来支持动态查询的方法,用户可以在配置页面输入业务所需的SQL语句、查询方法名以及对应的数据源信息发送到本应用系统,系统通过内置的AST语法分析引擎将SQL中的查询条件和返回数据结构解析出来并返回给页面,用户可以对查询条件数据结构进行修改、删减、限定是否必填,对返回结果的数据结构进行排序、删减和重命名后保存到数据库中;当系统的调用方调用本系统的接口时,通过传入查询方法名和查询参数,系统首先会从缓存中查询是否已有结果数据,如果有则直接将结果返回,如果没有则会通过AST语法分析引擎重新装载查询的SQL,将查询参数填充到SQL语句中组装成业务真正需要执行的SQL,最后将返回结果按照配置的信息返回给调用方,并将结果缓存到缓存系统中。
[0004]为实现上述目的,本专利技术提供如下技术方案:
[0005]一种通过配置SQL支持动态查询的方法,包括以下步骤:
[0006]A.应用系统接收启动指令进行启动;
[0007]B.所述应用系统启动后,用户在应用系统的配置界面配置数据源、SQL语句以及查询方法名;
[0008]C.应用系统接收到配置界面的SQL语句、数据源和查询方法名后,通过数据源连接到数据库,验证SQL语句的有效性,验证完成后将SQL语句在AST语法分析引擎中解析查询SQL,解析后将得到SQL语句中包含的查询条件和返回数据接结构,将查询条件和返回数据结构返回给配置界面;
[0009]D.配置界面上用户可以修改返回的查询条件是否必填,同时用户还可以对返回结果字段的名称修改;
[0010]E.应用系统的调用方通过查询方法名和查询参数请求应用系统的查询接口,应用系统将查询方法名和查询SQL条件通过MD5格式化成字符串,然后于缓存系统中获取结果,若缓存系统取得了结果则直接返回给调用方,流程结束;若缓存系统中没有数据,则继续进行步骤F;
[0011]F.应用系统通过查询方法名从数据库中将配置好的查询SQL取出,通过AST语法分析引擎将查询SQL和传入参数重新组装成业务查询语句,再将业务查询SQL发送到数据库中
请求查询结果;
[0012]G.应用系统获取到数据库返回的结果后,将结果按照配置的结果数据类型格式化返回结果数据,再将返回结果和MD5格式化结果组合成键值对保存到缓存系统中,并返回结果给调用方。
[0013]其中,在步骤D中,用户修改返回的查询条件的方式包括支持删除查询条件以及修改查询条件是否必填中的一种或多种。
[0014]其中,在步骤D中,用户对返回结果字段的名称修改的方式包括支持删除返回结果字段以及排序操作以及完成操作后提交保存到应用系统中的一种或多种。
[0015]本专利技术的有益效果:
[0016]与现有技术相比,本专利技术无需专门为某个数据接口编写代码,在开发过程中只需数据开发人员在配置端对接口进行配置,并可以对接口中的传入参数和返回结果进行自定义的配置。当启动应用系统后,接口调用方只需要将业务所需的查询参数和配置的查询方法名传入后台接口,接口将先在缓存中查询数据,如果没有再使用AST语法分析引擎解析组装业务SQL,最后按照配置的返回结果数据结构格式化返回结果并存入到缓存中。
[0017]另外,相比较传统的开发方式,本专利技术可以无需服务端开发人员的介入,DBA通过本专利技术就能对外发布业务接口,并且在系统执行过程中可以对接口进行动态更新而无需重新系统。
附图说明
[0018]图1为本专利技术的UML流程示意图。
具体实施方式
[0019]以下结合附图对本专利技术进行进一步说明:
[0020]请参照图1,一种配置SQL支持动态查询的方法,包括以下步骤:
[0021]A.应用系统接收启动指令进行启动;
[0022]B.所述应用系统启动后,用户在应用系统的配置界面配置数据源、SQL语句以及查询方法名;
[0023]C.应用系统接收到配置界面的SQL语句、数据源和查询方法名后,通过数据源连接到数据库,验证SQL语句的有效性,验证完成后将SQL语句在AST语法分析引擎中解析查询SQL,解析后将得到SQL语句中包含的查询条件和返回数据接结构,将查询条件和返回数据结构返回给配置界面;
[0024]D.配置界面上用户可以修改返回的查询条件是否必填,同时用户还可以对返回结果字段的名称修改;
[0025]E.应用系统的调用方通过查询方法名和查询参数请求应用系统的查询接口,应用系统将查询方法名和查询SQL条件通过MD5格式化成字符串,然后于缓存系统中获取结果,若缓存系统取得了结果则直接返回给调用方,流程结束;若缓存系统中没有数据,则继续进行步骤F;
[0026]F.应用系统通过查询方法名从数据库中将配置好的查询SQL取出,通过AST语法分析引擎将查询SQL和传入参数重新组装成业务查询语句,再将业务查询SQL发送到数据库中
请求查询结果;
[0027]G.应用系统获取到数据库返回的结果后,将结果按照配置的结果数据类型格式化返回结果数据,再将返回结果和MD5格式化结果组合成键值对保存到缓存系统中,并返回结果给调用方。
[0028]其中,在步骤D中,用户可以修改返回的查询条件的方式包括支持删除查询条件以及修改查询条件是否必填中的一种或多;另外,用户还可以对返回结果字段的名称修改的方式包括支持删除返回结果字段以及排序操作以及完成操作后提交保存到应用系统中的一种或多种。
[0029]数据开发人员通过步骤ABCD四个步骤可以完成一个数据接口的开发工作,前端开发人员可以通过EFG三个步骤完成接口的调用,通过本方法可以大大提升团队的开发效率、无需后端开发人员的介入,并且可以做到系统不停机的情况下修改接口的内容。
[0030]以上并非对本专利技术的技术范围作任何限制,凡依据本专利技术技术实质对以上的实施例所作的任何修改、等同变化与修饰,均仍属于本专利技术的技术方案的范围内。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种配置SQL支持动态查询的方法,其特征在于:包括以下步骤:A.应用系统接收启动指令进行启动;B.所述应用系统启动后,用户在应用系统的配置界面配置数据源、SQL语句以及查询方法名;C.应用系统接收到配置界面的SQL语句、数据源和查询方法名后,通过数据源连接到数据库,验证SQL语句的有效性,验证完成后将SQL语句在AST语法分析引擎中解析查询SQL,解析后将得到SQL语句中包含的查询条件和返回数据接结构,将查询条件和返回数据结构返回给配置界面;D.配置界面上用户可以修改返回的查询条件是否必填,同时用户还可以对返回结果字段的名称修改;E.应用系统的调用方通过查询方法名和查询参数请求应用系统的查询接口,应用系统将查询方法名和查询SQL条件通过MD5格式化成字符串,然后于缓存系统中获取结果,若缓存系统取得了结果则直接返回给调用方,流程结束;若缓存系统...

【专利技术属性】
技术研发人员:麦家健罗挺
申请(专利权)人:东莞数汇大数据有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1