CN113821526A - 查询数据的方法、装置、设备以及存储介质 - Google Patents

查询数据的方法、装置、设备以及存储介质 Download PDF

Info

Publication number
CN113821526A
CN113821526A CN202011537266.1A CN202011537266A CN113821526A CN 113821526 A CN113821526 A CN 113821526A CN 202011537266 A CN202011537266 A CN 202011537266A CN 113821526 A CN113821526 A CN 113821526A
Authority
CN
China
Prior art keywords
database
query statement
query
determining
link address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011537266.1A
Other languages
English (en)
Inventor
陆帅忠
李秋林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingdong Technology Information Technology Co Ltd
Original Assignee
Jingdong Technology Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jingdong Technology Information Technology Co Ltd filed Critical Jingdong Technology Information Technology Co Ltd
Priority to CN202011537266.1A priority Critical patent/CN113821526A/zh
Publication of CN113821526A publication Critical patent/CN113821526A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了查询数据的方法、装置、设备以及存储介质,涉及软件开发、数据库等技术领域。该查询数据的方法的一具体实施方式包括:根据输入的数据库链接地址和预设的数据库的配置信息,确定对应于所述数据库链接地址的数据库类型;根据对输入的自定义查询语句的解析结果和所述数据库类型,确定对应于所述数据库类型的目标查询语句;采用所述目标查询语句,查询数据并返回查询结果,从而在不用关注数据库类型的前提下,快速获得查询结果。

Description

查询数据的方法、装置、设备以及存储介质
技术领域
本申请涉及计算机技术领域,具体涉及软件开发、数据库等技术领域,尤其涉及查询数据的方法、装置、设备以及存储介质。
背景技术
数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
近几年来,随着大数据的发展,数据库的类型变得越来越多,SQL(结构化查询语言,Structured Query Language)语法和使用方法也不同。数据库函数可以用于执行不同的函数功能,数据库函数可以作为SQL的一个部分来调用。为了调用不同数据库的函数,同一SQL需要针对不同的数据库写对应的函数。
发明内容
本申请实施例提供了查询数据的方法、装置、设备以及存储介质。
第一方面,本申请实施例提供了查询数据的方法,包括:根据输入的数据库链接地址和预设的数据库的配置信息,确定对应于所述数据库链接地址的数据库类型;根据对输入的自定义查询语句的解析结果和所述数据库类型,确定对应于所述数据库类型的目标查询语句;采用所述目标查询语句,查询数据并返回查询结果。
第二方面,本申请实施例提供了查询数据的装置,包括:数据库类型确定模块,被配置为根据输入的数据库链接地址和预设的数据库的配置信息,确定对应于所述数据库链接地址的数据库类型;目标查询语句确定模块,被配置为根据对输入的自定义查询语句的解析结果和所述数据库类型,确定对应于所述数据库类型的目标查询语句;查询模块,被配置为采用所述目标查询语句,查询数据并返回查询结果。
第三方面,本申请实施例提出了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面中任一实现方式描述的方法。
第四方面,本申请实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第一方面中任一实现方式描述的方法。
本申请实施例提供的查询数据的方法、装置、设备以及存储介质,首先根据输入的数据库链接地址和预设的数据库的配置信息,确定对应于所述数据库链接地址的数据库类型;之后根据对输入的自定义查询语句的解析结果和所述数据库类型,确定对应于所述数据库类型的目标查询语句;最后采用所述目标查询语句,查询数据并返回查询结果,从而提出一种可以兼容不同数据库类型的自定义查询语句,使得用户在不用关注数据库类型的前提下,执行该自定义查询语句即可快速获得查询结果。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显。附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的查询数据的方法的一个实施例的流程示意图;
图3是根据本实施例提供的视图化查询系统的操作页面的一个实施例的示意图;
图4是根据本申请实施例的输入的数据库连接地址的一个实施例的示意图;
图5是根据本申请实施例的根据数据库链接地址与对应的数据库建立连接的一个实施例的示意图;
图6是根据本申请实施例的输入的自定义查询语句的一个实施例的示意图;
图7是根据本申请实施例的根据输入的自定义查询语句查询数据并返回查询结果的一个实施例的示意图;
图8是本申请的查询数据的装置的一个实施例的结构示意图;
图9是用来实现本申请实施例的查询数据的方法的电子设备的框图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的查询数据的方法或查询数据的装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、网络102、服务器103。网络102用以在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101可以通过网络102与服务器103交互。终端设备101中可以提供数据库链接地址、自定义查询语句,包括但不限于数据库、用户终端等等。
服务器103可以提供各种服务,例如服务器103可以对从终端设备101获取到的数据库链接地址、自定义查询语句等数据进行分析等处理,生成处理结果(例如采用目标查询语句,查询数据并返回查询结果)。
需要说明的是,服务器103可以是硬件,也可以是软件。当服务器103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器103为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本申请实施例所提供的查询数据的方法一般由服务器103执行,相应地,查询数据的装置一般设置于服务器103中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的查询数据的方法的一个实施例的流程200。该方法,包括以下步骤:
步骤201,根据输入的数据库链接地址和预设的数据库的配置信息,确定对应于数据库链接地址的数据库类型。
在本实施例中,查询数据的方法的执行主体(例如图1所示的服务器103)可以根据输入的数据库链接地址和预设的数据库的配置信息,确定对应于数据库链接地址的数据库类型。
其中,上述执行主体可以根据数据库配置文件路径读取数据库的配置信息。其中,预设的数据库的配置信息可以包括数据库类型、JDBC连接地址、用户名、密码、数据库连接池等。示例性地,数据库类型包括DB2、Oracle、MySQL和MsSQL等。
其中,数据库链接地址可以是URL地址,例如:jdbc:mysql://127.0.0.1:3306/test。其中,上述执行主体可以获取数据库链接地址的配置信息,然后根据获取到的链接地址的配置信息和预设的数据库的配置信息进行匹配,进而判断出对应于数据库链接地址的数据库类型。例如,以数据库链接地址为jdbc:mysql://127.0.0.1:3306/test为例,可以根据数据库链接地址的配置信息中的关键字“mysql”与预设的数据库类型的配置信息进行匹配,进而确定出该链接地址对应的数据库类型为MySQL。
其中,确定出对应于数据库链接地址的数据库类型后,可以根据数据库链接地址与对应的数据库建立连接。其中,可以对不同数据库的连接方式进行封装编译,例如,不同数据库的连接方式被封装编译成.so或者dll的形式,从而实现代码的复用性,方便调用。不同类型的数据库加载不同的驱动信息,将加载成功的驱动信息放入数据库容器中,例如mDrivers容器中,形成统一的调用接口。调用接口获取数据库链接地址并建立连接,例如DriverManager::getConnection(“数据库连接地址”)。
步骤202,根据对输入的自定义查询语句的解析结果和数据库类型,确定对应于数据库类型的目标查询语句。
在本实施例中,上述执行主体可以根据对输入的自定义查询语句的解析结果和数据库类型,确定对应于数据库类型的目标查询语句。
其中,自定义查询语句是一种用户自定义的数据库查询和程序设计语句,用于存取数据以及查询、更新和管理数据库。例如自定义的结构化查询语言(Structured QueryLanguage,SQL)。
数据库函数用于执行不同的函数功能,数据库函数可以作为自定义查询语句的一个部分来调用(例如使用select调用指令进行调用),并返回一个值或者表对象。数据库函数包括四个组成部分:声明、返回值、函数体和异常处理。数据库函数经过一系列的自定义查询语句调用,完成所要需要的做的任务。
其中,可以对输入的自定义查询语句进行解析,然后根据数据库类型,确定对应于该数据库类型的数据库函数,并将该数据库函数作为目标查询语句的一部分。例如,假设输入的自定义查询语句为“SELECT F_COMMON_NEXT_DAY(SYSDATE(),3)value from DUAL”,可以解析出该查询语句中包含自定义函数F_COMMON_NEXT_DAY(日期函数);再根据数据库类型为Oracle,可以将解析出的自定义函数F_COMMON_NEXT_DAY转换成适用于Oracle数据库的对应的日期函数SELECT Next_day(sysdate,7)value FROM DUAL,从而根据自定义函数和使用的数据库类型的关系进行替换以匹配所使用数据库类型的函数。
其中,上述执行主体可以根据数据库类型和解析的自定义函数匹配对应数据库的函数,并重新组装自定义查询语句得到目标查询语句。
步骤203,采用目标查询语句,查询数据并返回查询结果。
在本实施例中,上述执行主体可以采用目标查询语句,查询数据并返回查询结果。
其中,目标查询语句可以是对指定数据库的操作指令,包括对数据库进行增加、删除、修改、查询、释放等操作。例如执行删除一行数据的目标查询语句:“DELETE FROMSTUDENT WHERE finterid=10801”,完成对数据库的一行数据的删除。
本申请上述实施例提供的查询数据的方法,提出一种可以兼容不同数据库类型的自定义查询语句,用户通过输入自定义查询语句就可以快速获得查询结果,使得用户在程序开发时不用关注数据库类型,减少代码臃肿,提升开发速度。
在本实施例的一些可选的实现方式中,自定义函数包括固化函数和自定义扩展函数,其中,自定义扩展函数为根据抽象方法进行自定义逻辑扩展的函数。
其中,固化函数是指已经提供的函数,例如时间格式化函数f_date_format。其中,自定义扩展函数用于继承一个抽象方法和编写业务,例如:
Figure BDA0002853470210000061
Figure BDA0002853470210000062
其中,继承的Function后还有很多的支持代码,比如系统初始化监听,启动时根据数据库类型转换成指定的函数SQL插入数据库等,但是当前扩展只是需要实现Function即可。
本申请实施例除了提供固化函数之外,还提供了扩展可定义函数方法,通过提供的扩展方法和用户业务需求扩展函数,进而支持业务需求函数的扩展。
在本实施例的一些可选的实现方式中,上述步骤201包括:根据视图化查询系统接收到的数据库链接地址,确定对应于数据库链接地址的数据库类型。
其中,视图化查询系统是本实施例提供的查询数据的方法的应用系统。视图化查询系统向使用者提供了视图操作。其中,视图化查询系统是通过前端开发和后端开发形成的,使用的技术为Vue\Spring boot\JDBC。例如,前端开发可以使用Vue.js语言,采用Iview开源框架,搭建一套可视化的管理界面。前端展示模块通过AJAX发起JSON格式数据请求与后端交互。后端服务器可以采用Spring boot开发。Spring boot项目包括controller层、mapper层等。前端的Http请求会到controller层,而controller层根据相应路由信息注解会跳转到相应的类,在框架经过处理以后,最终调用的是mapper层。在执行相应的目标查询语句以后,会依次返回到controller层,然后在Http请求的返回中将会以JSON串对象返回给前端的调用方。
Java数据库连接(Java Database Connectivity,JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。
图3示出了根据本实施例提供的视图化查询系统的操作页面的一个实施例的示意图,采用本申请实施例提供的视图化查询系统,在使用的时候,可以通过提供的平台输入数据库链接信息进行直接查询,直观地获得查询结果。
在本实施例的一些可选的实现方式中,本实施例提供的查询数据的方法应用于Dobbo服务框架或Jsf服务框架上。
Dobbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入功能,可以和框架无缝集成。Jsf是京东提供的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入功能,可以和框架无缝集成。其中,可以将本实施例提供的查询数据的方法注册到Dobbo服务框架或Jsf服务框架上,从而给使用者提供了调用方式。开发者在代码中引用dobbo或者jsf服务进行调用传参获取查询结果。
为了便于理解,图4至图7示出了根据本申请的查询数据的方法的一个实施例的应用场景示意图。
图4示出了根据本申请实施例的输入的数据库连接地址的一个实施例的示意图。
如图4所示,用户可以在本申请实施例提供的视图化查询系统上输入用户名、密码、数据库链接地址。用户名为“root”,链接地址为“jdbc:mysql://127.0.0.1:3306/test”。
图5示出了根据本申请实施例的根据数据库链接地址与对应的数据库建立连接的一个实施例的示意图。
如图5所示,用户可以点击“链接测试”键,该视图化查询系统中的服务器端可以根据输入的数据库链接地址和预设的数据库的配置信息,确定对应于数据库链接地址的数据库类型,并通过JDBC接口与对应的数据库建立连接。如图5所示,用户已和MySQL数据库建立连接。
图6示出了根据本申请实施例的输入的自定义查询语句的一个实施例的示意图。
如图6所示,用户可以在本申请实施例提供的视图化查询系统上输入SQL“selectf_date_format(‘2020081510’,‘%Y-%m-%d’)from test”。
图7示出了根据本申请实施例的根据输入的自定义查询语句查询数据并返回查询结果的一个实施例的示意图。
如图7所示,用户可以在本申请实施例提供的视图化查询系统上获取查询结果。该视图化查询系统中的服务器端可以根据对输入的自定义查询语句的解析结果和数据库类型,确定对应于数据库类型的目标查询语句以及采用目标查询语句,查询数据并返回查询结果。如图7所示,返回的查询结果为:
Figure BDA0002853470210000081
Figure BDA0002853470210000091
如图8所示,本实施例的查询数据的装置800可以包括:数据库类型确定模块801、目标查询语句确定模块802、查询模块803。其中,数据库类型确定模块801,被配置为根据输入的数据库链接地址和预设的数据库的配置信息,确定对应于所述数据库链接地址的数据库类型;目标查询语句确定模块802,被配置为根据对输入的自定义查询语句的解析结果和所述数据库类型,确定对应于所述数据库类型的目标查询语句;查询模块803,被配置为采用所述目标查询语句,查询数据并返回查询结果。
在本实施例中,查询数据的装置800中:数据库类型确定模块801、目标查询语句确定模块802、查询模块803的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-203的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,所述目标查询语句确定模块包括:自定义函数确定模块,被配置为根据输入的自定义查询语句,确定自定义函数;目标查询语句确定模块,被配置为根据所述数据库类型和所述自定义函数,确定对应于所述数据库类型的目标查询语句。
在本实施例的一些可选的实现方式中,所述数据库类型确定模块进一步被配置为:根据视图化查询系统接收到的数据库链接地址,确定对应于所述数据库链接地址的数据库类型。
在本实施例的一些可选的实现方式中,所述视图化查询系统包括Vue前端、SpringBoot后端、Java数据库连接口。
在本实施例的一些可选的实现方式中,所述装置应用于Dobbo服务框架或Jsf服务框架上。
在本实施例的一些可选的实现方式中,所述查询语句为结构化查询语句。
如图9所示,是根据本申请实施例查询数据的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图9所示,该电子设备包括:一个或多个处理器901、存储器902,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器901为例。
存储器902即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的查询数据的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的查询数据的方法。
存储器902作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的查询数据的方法对应的程序指令/模块(例如,附图8所示的数据库类型确定模块801、目标查询语句确定模块802、查询模块803)。处理器901通过运行存储在存储器902中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的查询数据的方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据查询数据的方法的电子设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至查询数据的方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
查询数据的方法的电子设备还可以包括:输入装置903和输出装置904。处理器901、存储器902、输入装置903和输出装置904可以通过总线或者其他方式连接,图9中以通过总线连接为例。
输入装置903可接收输入的数字或字符信息,以及产生与查询数据的方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置904可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请的技术方案,首先根据输入的数据库链接地址和预设的数据库的配置信息,确定对应于所述数据库链接地址的数据库类型;之后根据对输入的自定义查询语句的解析结果和所述数据库类型,确定对应于所述数据库类型的目标查询语句;最后采用所述目标查询语句,查询数据并返回查询结果,从而在不用关注数据库类型的前提下,快速获得查询结果。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (14)

1.一种查询数据的方法,包括:
根据输入的数据库链接地址和预设的数据库的配置信息,确定对应于所述数据库链接地址的数据库类型;
根据对输入的自定义查询语句的解析结果和所述数据库类型,确定对应于所述数据库类型的目标查询语句;
采用所述目标查询语句,查询数据并返回查询结果。
2.根据权利要求1所述的方法,所述根据对输入的自定义查询语句的解析结果和所述数据库类型,确定对应于所述数据库类型的目标查询语句包括:
根据输入的自定义查询语句,确定自定义函数;
根据所述数据库类型和所述自定义函数,确定对应于所述数据库类型的目标查询语句。
3.根据权利要求1所述的方法,其中,所述根据输入的数据库链接地址和预设的数据库的配置信息,确定对应于所述数据库链接地址的数据库类型包括:
根据视图化查询系统接收到的数据库链接地址,确定对应于所述数据库链接地址的数据库类型。
4.根据权利要求3所述的方法,所述视图化查询系统包括Vue前端、Spring Boot后端、Java数据库连接口。
5.根据权利要求1所述的方法,其中,所述方法应用于Dobbo服务框架或Jsf服务框架上。
6.根据权利要求1-5任一项所述的方法,其中,所述查询语句为结构化查询语句。
7.一种查询数据的装置,其特征在于,所述装置包括:
数据库类型确定模块,被配置为根据输入的数据库链接地址和预设的数据库的配置信息,确定对应于所述数据库链接地址的数据库类型;
目标查询语句确定模块,被配置为根据对输入的自定义查询语句的解析结果和所述数据库类型,确定对应于所述数据库类型的目标查询语句;
查询模块,被配置为采用所述目标查询语句,查询数据并返回查询结果。
8.根据权利要求7所述的装置,其中,所述目标查询语句确定模块包括:
自定义函数确定模块,被配置为根据输入的自定义查询语句,确定自定义函数;
目标查询语句确定模块,被配置为根据所述数据库类型和所述自定义函数,确定对应于所述数据库类型的目标查询语句。
9.根据权利要求7所述的装置,其中,所述数据库类型确定模块进一步被配置为:
根据视图化查询系统接收到的数据库链接地址,确定对应于所述数据库链接地址的数据库类型。
10.根据权利要求9所述的装置,其中,所述视图化查询系统包括Vue前端、Spring Boot后端、Java数据库连接口。
11.根据权利要求7所述的装置,其中,所述装置应用于Dobbo服务框架或Jsf服务框架上。
12.根据权利要求7-11任一项所述的装置,其中,所述查询语句为结构化查询语句。
13.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的方法。
CN202011537266.1A 2020-12-23 2020-12-23 查询数据的方法、装置、设备以及存储介质 Pending CN113821526A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011537266.1A CN113821526A (zh) 2020-12-23 2020-12-23 查询数据的方法、装置、设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011537266.1A CN113821526A (zh) 2020-12-23 2020-12-23 查询数据的方法、装置、设备以及存储介质

Publications (1)

Publication Number Publication Date
CN113821526A true CN113821526A (zh) 2021-12-21

Family

ID=78924903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011537266.1A Pending CN113821526A (zh) 2020-12-23 2020-12-23 查询数据的方法、装置、设备以及存储介质

Country Status (1)

Country Link
CN (1) CN113821526A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434554B1 (en) * 1998-09-09 2002-08-13 Hitachi, Ltd. Method for querying a database in which a query statement is issued to a database management system for which data types can be defined
US20140089294A1 (en) * 2012-09-26 2014-03-27 Microsoft Corporation Sql generation for assert, update and delete relational trees
US20160063063A1 (en) * 2014-09-02 2016-03-03 Salesforce.Com, Inc. Database query system
CN109508344A (zh) * 2018-09-29 2019-03-22 中国平安人寿保险股份有限公司 业务数据查询方法、装置、电子设备及存储介质
CN109947789A (zh) * 2019-01-28 2019-06-28 平安科技(深圳)有限公司 一种多数据库的数据处理的方法、装置、计算机设备及存储介质
CN110674162A (zh) * 2019-09-23 2020-01-10 税友软件集团股份有限公司 一种数据库语句执行方法及相关装置
CN110688544A (zh) * 2019-10-17 2020-01-14 北京锐安科技有限公司 一种查询数据库的方法、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434554B1 (en) * 1998-09-09 2002-08-13 Hitachi, Ltd. Method for querying a database in which a query statement is issued to a database management system for which data types can be defined
US20140089294A1 (en) * 2012-09-26 2014-03-27 Microsoft Corporation Sql generation for assert, update and delete relational trees
US20160063063A1 (en) * 2014-09-02 2016-03-03 Salesforce.Com, Inc. Database query system
CN109508344A (zh) * 2018-09-29 2019-03-22 中国平安人寿保险股份有限公司 业务数据查询方法、装置、电子设备及存储介质
CN109947789A (zh) * 2019-01-28 2019-06-28 平安科技(深圳)有限公司 一种多数据库的数据处理的方法、装置、计算机设备及存储介质
CN110674162A (zh) * 2019-09-23 2020-01-10 税友软件集团股份有限公司 一种数据库语句执行方法及相关装置
CN110688544A (zh) * 2019-10-17 2020-01-14 北京锐安科技有限公司 一种查询数据库的方法、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王安生: "软件工程专业导论", 30 June 2020, 北京邮电大学出版社, pages: 61 *
薛亮: "Java实用教程", 31 October 2003, 西安电子科技大学出版社, pages: 152 - 154 *

Similar Documents

Publication Publication Date Title
CN111639078A (zh) 数据查询方法、装置、电子设备以及可读存储介质
CN112069201A (zh) 目标数据的获取方法和装置
CN111625224A (zh) 代码生成方法、装置、设备及存储介质
CN112491617B (zh) 一种链路跟踪方法、装置、电子设备和介质
CN111610972B (zh) 页面生成方法、装置、设备及存储介质
CN111913998A (zh) 数据处理方法、装置、设备和存储介质
CN111125064A (zh) 一种生成数据库模式定义语句的方法和装置
CN110765075A (zh) 自动驾驶数据的存储方法和设备
CN112130888A (zh) 应用程序更新的方法、装置、设备和计算机存储介质
CN111698326A (zh) 用于确定云服务资源的成本归属的方法和装置
CN111796851A (zh) 客户端基础库更新方法、装置、电子设备和存储介质
CN111858621B (zh) 监控业务流程的方法、装置、设备和计算机可读介质
CN111831320A (zh) 插件管理方法、装置、电子设备及存储介质
CN111767442A (zh) 数据更新方法、装置、搜索服务器、终端及存储介质
US9489436B2 (en) Gateway enablement of analytic database services
CN113821526A (zh) 查询数据的方法、装置、设备以及存储介质
CN111880778B (zh) 接口文档的生成方法、装置、电子设备及存储介质
CN112559808B (zh) 数据处理方法、装置以及电子设备
US11838294B2 (en) Method for identifying user, storage medium, and electronic device
CN114661274A (zh) 用于生成智能合约的方法和装置
CN111638982B (zh) 导流方法、导流装置和电子设备
CN111770182B (zh) 数据推送方法和装置
CN113760240A (zh) 一种生成数据模型的方法和装置
CN113094139A (zh) Ui样式更新方法和装置
CN111523000A (zh) 用于导入数据的方法、装置、设备以及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination