CN112988781A - 数据查询方法、装置、电子设备及计算机可读存储介质 - Google Patents

数据查询方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN112988781A
CN112988781A CN202110146276.0A CN202110146276A CN112988781A CN 112988781 A CN112988781 A CN 112988781A CN 202110146276 A CN202110146276 A CN 202110146276A CN 112988781 A CN112988781 A CN 112988781A
Authority
CN
China
Prior art keywords
query
screening
field
sql statement
filtering
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
CN202110146276.0A
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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network 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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202110146276.0A priority Critical patent/CN112988781A/zh
Publication of CN112988781A publication Critical patent/CN112988781A/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
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • 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
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations

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

本公开涉及一种数据查询方法、装置、电子设备及计算机可读存储介质,该方法包括:获取查询需求,所述查询需求中包括一条或者多条筛选条件,根据所述查询需求生成动态SQL语句;接收查询指令,所述查询指令中包括每条所述筛选条件对应的筛选参数;响应于所述查询指令,对所述动态SQL语句进行解析;运行可执行SQL命令得到查询结果。通过采用该数据查询方法,可以快速方便地进行数据查询,提升用户的体验。

Description

数据查询方法、装置、电子设备及计算机可读存储介质
技术领域
本公开实施例涉及数据查询技术领域,更具体地,涉及一种数据查询方法、装置、电子设备及计算机可读存储介质。
背景技术
当前时代处于数据时代,对于很多公司来说,各种数据一般存储在数据库中,通过静态SQL语句从数据库中查询用户所需的数据,但由于数据的种类繁多,导致查询时间、查询过程繁琐。因此,有必要提供一种新的查询方案,可以快速方便地进行查询,提升用户的体验。
发明内容
本公开实施例的一个目的是提供一种数据查询方法的新的技术方案。
根据本公开的第一方面,提供了一种数据查询方法,该方法包括:
获取查询需求,所述查询需求中包括一条或者多条筛选条件,根据所述查询需求生成动态SQL语句;
接收查询指令,所述查询指令中包括每条所述筛选条件对应的筛选参数;
响应于所述查询指令,对所述动态SQL语句进行解析;所述对所述动态SQL语句进行解析,包括:将所述筛选参数导入所述动态SQL语句中,按照预设的解析规则将所述动态SQL语句解析为可执行SQL命令;
运行所述可执行SQL命令得到查询结果。
可选地,所述查询需求包括多条筛选条件时,所述查询需求中还包括所述多条筛选条件之间的逻辑关系,所述筛选条件包括筛选字段以及与所述筛选字段对应的筛选运算符;
所述根据所述查询需求生成动态SQL语句,包括:
针对每条所述筛选条件分别生成筛选条件字符串;
根据所述逻辑关系和预设的标签的语义,选取标签并使用选取的标签将全部所述筛选条件字符串组织成所述动态SQL语句。
可选地,所述查询需求包括一条筛选条件时,所述筛选条件包括筛选字段以及与所述筛选字段对应的筛选运算符;
所述根据所述查询需求生成动态SQL语句,包括:
根据所述筛选条件生成筛选条件字符串;
使用预设的默认标签,将所述筛选条件字符串组织成动态SQL语句。
可选地,所述筛选条件包括筛选字段以及与所述筛选字段对应的筛选运算符;
在根据所述查询需求生成动态SQL语句之前,所述方法还包括:
检查所述筛选条件中的筛选字段的属性和筛选运算符是否匹配;
在匹配的情况下,执行根据所述查询需求生成动态SQL语句的步骤。
可选地,所述筛选条件包括筛选字段以及与所述筛选字段对应的筛选运算符,所述查询需求中还包括用户的身份标识和查询字段;
在根据所述查询需求生成动态SQL语句之前,所述方法还包括:
根据所述身份标识向权限服务器查询所述用户的查询权限,所述用户的查询权限包括所述用户具有权限的字段;
检查所述用户的查询权限中的字段是否涵盖所述查询需求中的查询字段和筛选字段;
在是的情况下,执行根据所述查询需求生成动态SQL语句的步骤。
可选地,所述筛选条件包括筛选字段以及与所述筛选字段对应的筛选运算符;
在对所述动态SQL语句进行解析之前,所述方法还包括:
根据所述筛选条件的筛选参数和筛选运算符,确定所述筛选条件对应的筛选范围;
检查所述筛选条件对应的筛选范围与所述筛选条件中的筛选字段的字段值范围是否匹配;
在匹配的情况下,执行所述对所述动态SQL语句进行解析的步骤。
可选地,所述筛选条件包括筛选字段以及与所述筛选字段对应的筛选运算符,所述查询需求中还包括用户的查询字段;所述查询指令中还包括用户的身份标识;
在对所述动态SQL语句进行解析之前,所述方法还包括:
根据所述身份标识向权限服务器查询所述用户的查询权限,所述用户的查询权限包括所述用户具有权限的字段;
检查所述用户的查询权限中的字段是否涵盖所述查询需求中的查询字段和筛选字段;
在是的情况下,执行所述对所述动态SQL语句进行解析的步骤。
可选地,所述筛选条件包括筛选字段以及与所述筛选字段对应的筛选运算符,所述查询需求中还包括用户的查询字段;所述查询指令中还包括用户的身份标识;
在将所述筛选参数导入所述动态SQL语句中之前,所述方法还包括:
根据所述身份标识向权限服务器查询所述用户的查询权限,所述用户的查询权限包括所述用户具有权限的字段;
检查所述用户的查询权限中的字段是否涵盖所述查询需求中的查询字段和筛选字段;
在是的情况下,执行所述对所述动态SQL语句进行解析的步骤。
根据本公开的第二方面,提供了一种数据查询装置,该装置包括:
获取模块,用于获取查询需求,所述查询需求中包括一条或者多条筛选条件;
生成模块,用于根据所述查询需求生成动态SQL语句;
接收模块,用于接收查询指令,所述查询指令中包括每条所述筛选条件对应的筛选参数;
解析模块,用于响应于所述查询指令,对所述动态SQL语句进行解析;所述对所述动态SQL语句进行解析,包括:将所述筛选参数导入所述动态SQL语句中,按照预设的解析规则将所述动态SQL语句解析为可执行SQL命令;
运行模块,用于运行所述可执行SQL命令得到查询结果。
根据本公开的第三方面,提供了一种电子设备,该电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的数据同步方法的步骤。
根据本公开的第四方面,提供了一种计算机可读存储介质,该可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一项所述数据同步方法的步骤。
本公开实施例的一个有益效果在于,根据查询需求预先生成动态SQL语句,用户在每次查询时不需要重新编写动态SQL语句,只需要提供筛选参数就可以将动态SQL语句解析为可执行SQL命令并执行得到查询结果,从而提升查询的速度和便捷性,提升了用户体验。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是本公开实施例的电子设备的硬件配置的示意图;
图2是本公开实施例的数据查询方法的流程示意图;
图3是本公开实施例的查询需求配置界面操作流程示意图;
图4是本公开实施例的第一种数据查询装置的结构示意图;
图5是本公开实施例的第二种数据查询装置的结构示意图;
图6是本公开实施例的第三种数据查询装置的结构示意图;
图7是本公开实施例的第四种数据查询装置的结构示意图;
图8是本公开实施例的第五种数据查询装置的结构示意图;
图9是本公开实施例的电子设备的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人物已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<硬件配置>
图1示出了可用于实现本公开实施例的电子设备的硬件配置的示意图。
如图1所示,电子设备1000包括处理器1100、存储器1200、接口装置1300、通信装置1400、输出装置1500、输入装置1600。其中,处理器1100例如是中央处理器CPU、微处理器MCU等。存储器1200例如是ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置1300例如是USB接口、耳机接口等。通信装置1400例如能够进行有线或无线通信。输出装置1500例如是液晶显示屏、触摸显示屏、扬声器等。输入装置1600例如是触摸屏、键盘、鼠标、麦克风等。
应用于本公开的实施例中,电子设备1000的存储器1200用于存储指令,指令用于控制处理器1100执行本公开实施例提供的数据查询方法。在上述描述中,技术人员可以根据本公开所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
图1所示的电子设备1000仅是解释性的,并且决不是为了限制本发明、其应用或用途。
<数据查询方法>
结构化查询语言(Structured Query Language)简称SQL,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。在数据查询技术领域,查询数据库中的数据主要依靠SQL极大的灵活性和强大的功能。
本公开实施例提供了一种基于SQL语言的数据查询方法。图2是可应用本公开实施例的一种数据查询方法的流程示意图。如图2所示,该方法可以包括如下步骤S101~S104:
S101:获取查询需求,查询需求中包括一条或者多条筛选条件,根据查询需求生成动态SQL语句。
在一些实施例中,查询需求中包含用户的身份标识、查询字段和筛选字段。查询需求中的用户的身份标识可以是提交该查询需求的用户的身份的标识。
表1销售详情表
Employee(员工) Sales(销售额) Department(部门) Date(日期)
张三 200000 a 2020-01
李四 100000 a 2020-02
王五 100000 b 2020-03
在一个实施例中,查询字段即用户想要查询的数据所属的字段。例如,结合表1来看,查询字段可为:Sales(销售额)、Employee(员工)、Department(部门)、Date(日期)中的一个或多个。
在一个实施例中,筛选条件用于限定对想要查询的数据的筛选方式。例如,结合表1来看,查询字段为“Sales”,筛选字段为“Department”,筛选运算符为“=”,即想要筛选特定部门的销售额。例如,结合表1来看,查询字段为“Sales”,筛选字段为“Date”,筛选运算符为“>=”,即想要筛选某个日期开始的销售额。
在一个实施例中,在根据查询需求生成动态SQL语句之前,还需要确定所需要的逻辑关系。该逻辑关系例如可以为“和”关系,也可以为“或”关系。“和”关系(即“and”关系)代表多个条件需要同时满足。“或”关系(即“or”关系)代表多个条件只需要满足一个即可。结合表1来看,“和”关系例如可以是“a部门”和“从2020-02开始”,即想要查询的是a部门从2020-02开始的销售额。“或”关系例如可以是“a部门”或“b部门”,即想要查询的是a部门或b部门的销售额。
也就是说,在本公开实施例中,查询需求中可以包括一条或者多条筛选条件,每条筛选条件均包括筛选字段以及与筛选字段对应的筛选运算符。筛选运算符例如可以包括:“<”、“>”、“=”、“>=”、“<=”等。在查询需求包括多条筛选条件的情况下,查询需求中还包括多条筛选条件之间的逻辑关系。多条筛选条件之间的逻辑关系例如为“和”关系、“或”关系等。
下面举出两个根据查询需求生成动态SQL语句的例子,如下:
例子1:
查询需求中包括多条筛选条件和多条筛选条件之间的逻辑关系,筛选条件包括筛选字段以及与筛选字段对应的筛选运算符,根据查询需求生成动态SQL语句的过程,可以包括步骤S202-S204。
S202:对每条筛选条件分别生成筛选条件字符串。
例如,结合表1来看,当需要查询某部门的从某日期开始的销售额时,筛选条件为两条,第一条是关于部门的筛选条件,第二条是关于日期的筛选条件,两条筛选条件之间为“和”关系,对两条筛选条件分别生成筛选条件字符串,得到:
department=#{department}注释:筛选字段为department,筛选运算符为=
date>=#{date}注释:筛选字段为data,筛选运算符为>=
在一个实施例中,#{}为筛选参数标识,{}中应该放入筛选参数,因为在查询需求中没有筛选参数,所以在{}中写入筛选字段名作为形参,以使筛选字符串在形式上完整,便于在后续生成动态SQL语句。
S204:根据逻辑关系和预设的标签的语义,选取标签并使用选取的标签将全部筛选条件字符串组织成动态SQL语句。
在一个实施例中,标签的语义是预先设置好的,根据逻辑关系和标签的语义,选取在语义上与逻辑关系适配的标签,为每个筛选条件字符串生成对应的标签语句。然后,按照逻辑关系对全部标签语句进行组合得到组合语句,在组合语句的最前面添加选取查询字段语句,就可以得到动态SQL语句。
例如,结合表1来看,当需要查询某部门的从某日期开始的销售额时,两个查询条件的逻辑关系为“和”关系。根据这一逻辑关系和预设的标签的语义,可以选取<where>标签和<if>标签。<where>标签用于启动筛选过程,<if>标签用于处理判断条件。最终生成的动态SQL语句为:
Figure BDA0002930411760000081
例子2:
查询需求包括一条筛选条件,筛选条件包括筛选字段以及与筛选字段对应的筛选运算符,根据查询需求生成动态SQL语句的过程,可以包括步骤S302-S304。
S302:根据筛选条件生成筛选条件字符串。
例如,结合表1来看,当需要查询某部门的销售额时,生成的筛选条件字符串为:
department=#{department}注释:筛选字段为department,筛选运算符为=
S304:使用预设的默认标签,将筛选条件字符串组织成动态SQL语句。
在一个实施例中,默认标签为<where>。当需要查询某部门的销售额时,生成的动态SQL语句为:
select*from sales_detail注释:选取查询字段语句,表明查询字段为sales
<where>注释:筛选开始
department=#{department}注释:筛选字段为department,筛选运算符为=
在本公开实施例中,标签可以包括:<if>标签、<where>标签、<foreach>标签、<case>标签。<if>标签用于处理判断条件、<where>标签用于启动筛选过程、<foreach>标签能够处理遍历,<case>标签能够进行多分支选择。用户可以根据自身的查询需求选择合适的标签。
在一些实施例中,在根据查询需求生成动态SQL语句之前,还需要检查筛选条件中的筛选字段的属性和筛选运算符是否匹配,在匹配的情况下,执行根据查询需求生成动态SQL语句的步骤。
在本公开实施例中,在根据查询需求生成动态SQL语句之前,还需要检查筛选条件中的筛选字段的属性和筛选运算符是否匹配,在匹配的情况下生成动态SQL语句。本公开实施例对筛选字段的属性和筛选运算符是否匹配进行检查以验证查询需求的合理性,避免对不合理的查询需求生成动态SQL语句导致计算资源浪费。
也就是说,对于每一个筛选条件,分别检查该条筛选条件中的筛选字段的属性和筛选运算符是否匹配。只有在每一条筛选条件中的筛选字段的属性和筛选运算符都匹配的情况下,执行根据查询需求生成动态SQL语句的步骤。如果存在任一条筛选条件中的筛选字段的属性和筛选运算符不匹配的情况,不执行根据查询需求生成动态SQL语句的步骤。
在一个实施例中,若检查发现某条筛选条件中的筛选字段的属性和筛选运算符不匹配,对用户进行提示以方便用户进行人工检查,从而帮助用户合理设置筛选条件。
例如,根据表1来看,Department的属性为:字符串。也就是说,Department字段的不是数值,不可以进行大小的比较。若筛选条件为:筛选字段为Department,筛选运算符为“>”,则该筛选运算符和Department的属性不匹配,不执行根据查询需求生成动态SQL语句的步骤。
在一些实施例中,在根据查询需求生成动态SQL语句之前,还需根据用户的身份标识向权限服务器查询用户的查询权限,用户的查询权限包括该用户具有权限的字段,检查该用户的查询权限中的字段是否涵盖查询需求中的查询字段和筛选字段,在是的情况下,执行根据查询需求生成动态SQL语句的步骤。在否的情况下,可以通知用户其没有权限不可以设置这样的查询需求。
在本公开实施例中,在根据查询需求生成动态SQL语句之前,需要查询用户的权限范围,用户只可以在其权限范围内进行查询需求设置,通过这种方式可以提升查询的安全性,保证数据安全。
在一些实施例中,可以以图形界面的方式,向用户提供查询需求配置界面,以帮助用户在其权限内正确设置查询需求。下面参照图3进行说明。
图3是可应用本公开实施例的一种查询需求配置界面操作流程示意图。
结合表1所示,假设根据用户的身份标识查询出的该用户的查询权限为:销售额,员工,部门和日期,也就是说,该用户对表1的所有字段(销售额,员工,部门和日期)均有权限。
以该用户想要查询具体部门的销售额为例,在查询需求配置界面上,该用户点击查询字段输入框,会弹出全部4个字段的名称供用户选择,假设用户选择销售额作为查询字段。用户接着点击筛选字段输入框,会出现一个筛选字段选项窗口,该筛选字段选项窗口中含有四个筛选字段选项(分别是员工、销售额、部门、日期)。假设用户在筛选字段选项窗口中选择筛选字段“部门”,然后点击对应的筛选运算符输入框,会出现一个筛选运算符选项窗口。根据预设的筛选字段和筛选运算符的匹配关系,该筛选运算符选项窗口中含有与筛选字段“部门”匹配的全部筛选运算符选项(分别是=、<、>、>=、<=)。假设用户在筛选运算符选项窗口中选择运算符“=”,完成配置。
在一些实施例中,筛选字段和筛选字符串的匹配关系是根据筛选字段的属性预先确定的。如果筛选字段的属性是数值,可选的筛选运算符可以包括“<”、“>”、“=”、“>=”、“<=”;如果筛选字段的属性是字符串,可选的筛选运算符只能是“=”。例如,如果筛选字段是部门,可选的筛选运算符只能是“=”;如果筛选字段是销售额,可选的筛选运算符可以包括“<”、“>”、“=”、“>=”、“<=”。
在本公开实施例中,通过查询需求配置界面,可以帮助用户更简单方便的设置其查询需求,提升用户的体验。并且,通过预先设置的匹配关系来提供可选的筛选运算符,可以防止用户设置了不合理的筛选条件。
S102:接收查询指令,查询指令中包括每条筛选条件对应的筛选参数。
在一些实施例中,接收到查询指令后,在对查询指令进行响应之前,也就是在对动态SQL语句进行解析之前,还可以进行检查工作。具体来说,根据筛选条件中的筛选参数和筛选运算符,确定筛选条件对应的筛选范围,检查筛选条件对应的筛选范围与筛选条件中的筛选字段的字段值范围是否匹配,在匹配的情况下,执行对动态SQL语句进行解析的步骤。
在本公开实施例中,在对动态SQL语句进行解析之前,检查筛选条件对应的筛选范围与筛选条件中的筛选字段的字段值范围是否匹配,在匹配的情况下对动态SQL语句进行解析,本公开实施例通过这种方式保证筛选范围的合理性,避免造成计算资源浪费。
也就是说,对于每一个筛选条件,分别根据该条筛选条件对应的筛选参数和筛选运算符确定该筛选条件对应的筛选范围,检查该条筛选条件对应的筛选范围与该条筛选条件中的筛选字段的字段值范围是否匹配。在匹配的情况下,执行对动态SQL语句进行解析的步骤。只有在每一条筛选条件对应的筛选范围与该条筛选条件中的筛选字段的字段值范围都匹配的情况下,执行对动态SQL语句进行解析的步骤。如果存在任一条筛选条件对应的筛选范围与该条筛选条件中的筛选字段的字段值范围不匹配的情况,不执行对动态SQL语句进行解析的步骤。
在一个实施例中,若检查发现某条筛选条件对应的筛选范围与该条筛选条件中的筛选字段的字段值范围不匹配,对用户进行提示以方便用户进行人工检查,帮助用户合理设置筛选参数。
在一些实施例中,查询需求还包括查询字段,查询指令中还包括用户的身份标识。查询指令中的用户标识可以是发送该查询指令的用户的身份标识。根据该身份标识向权限服务器查询用户的查询权限,用户的查询权限包括用户具有权限的字段,检查用户的查询权限中的字段是否涵盖查询需求中的查询字段和筛选字段,在是的情况下,执行对动态SQL语句进行解析的步骤。在否的情况下,可以通知用户其没有权限不可以查询相关数据。
在本公开实施例中,在对动态SQL语句进行解析之前,需要查询用户的权限范围,用户只可以在其权限范围内进行数据查询,通过这种方式可以提升查询的安全性,保证数据安全。
S103:响应于查询指令,对动态SQL语句进行解析。
对动态SQL语句进行解析的过程,可以是:将筛选参数导入动态SQL语句中,按照预设的解析规则将动态SQL语句解析为可执行SQL命令。
在一个实施例中,将筛选参数导入动态SQL语句中的过程可以是:从动态SQL语句中,根据筛选字段查找出与筛选参数对应的形参,使用筛选参数替换掉形参。例如,假设与department对应的筛选参数为a,查找到的形参所在的语句为department=#{department},则替换后,该语句变为department=a。
在一个实施例中,解析动态SQL语句需要先查找标签,将动态SQL语句分解为标签语句。标签由<>包裹,查找符号<>就可以确定标签语句。
本公开实施例中,按照从内到外,从上到下的解析顺序,解析每一条标签语句。本公开实施例中,对于每一条标签语句,根据该标签对应的语法规则把该标签语句解析为一条字符串。
下面举出两个解析动态SQL语句的例子,如下:
例子3:
根据步骤S101,生成的一个动态SQL语句为:
Figure BDA0002930411760000121
若筛选字段department对应的筛选参数为a,筛选字段date对应的筛选参数为2020-01,该动态SQL语句导入参数后变为:
Figure BDA0002930411760000131
如上述的导入参数的动态SQL语句中,包括一个where标签语句和2个if标签语句。
根据从内到外,从上到下的解析顺序,先解析第一个if标签语句,该第一个if标签语句如下:
Figure BDA0002930411760000132
其中,if是判断语句,确定用户输入的筛选参数a符合第一个if语句的限制条件(department对应的筛选参数不为空值),则去掉if语句,得到字符串department=a。
然后再解析第二个if标签语句,该第二个if标签语句如下:
<iftest="#{date}!=null">注释:限制date对应的筛选参数不为空值
and date>=2020-01注释:筛选条件为date为大于等于2020-01
</if>注释:本条if语句结束
其中,if是判断语句,确定用户输入的筛选参数2020-01符合第二个if条件的限制条件(date对应的筛选参数不为空值),则去掉if语句,得到字符串and date>=2020-01。
最后解析where标签语句,where标签语句中存在筛选条件,解析得到的可执行SQL命令为:
select*from sales_detail where department=a and date>=2020-01
该可执行SQL命令的含义是:查询a部门从2020-01开始的销售额。
例子4:
根据步骤S101,生成的一个动态SQL语句为:
Figure BDA0002930411760000141
若筛选字段departments对应的筛选参数为a,b,c,筛选字段date对应的筛选参数为2020-02,该动态SQL语句导入参数后变为:
Figure BDA0002930411760000142
Figure BDA0002930411760000151
如上述的导入参数的动态SQL语句中,包括一个where标签语句,一个foreach标签语句,一个if标签语句。
根据从内到外,从上到下的解析顺序,先解析foreach标签语句,该foreach标签语句如下:
Figure BDA0002930411760000152
其中,item表示遍历对象,myItem表示当前遍历到的对象,collection表示数组或列表。open表示遍历开始,close表示遍历结束,separator表示元素之间的分隔符。解析该foreach标签语句,得到字符串department in(a,b,c)。
然后再解析if标签语句,如例子3类似,得到字符串and date>=2020-02。
最后解析where标签语句,where标签语句中存在筛选条件,解析得到的可执行SQL命令为:
select*from sales_detail where department in(a,b,c)and date>=2020-02
该可执行SQL命令的含义是:查询a部门、b部门、c部门从2020-02开始的销售额。
S104:执行可执行SQL命令得到查询结果。
对于例子3,执行select*from sales_detail where department=a and date>=2020-01,就可以查询到a部门从2020-01开始的销售额。
对于例子4,执行select*from sales_detail where department in(a,b,c)anddate>=2020-02,就可以查询到a部门、b部门、c部门从2020-02开始的销售额。
本公开实施例的数据查询方法,根据查询需求预先生成动态SQL语句,用户在每次查询时不需要重新编写动态SQL语句,只需要提供筛选参数就可以将动态SQL语句解析为可执行SQL命令并执行得到查询结果,从而提升查询的速度和便捷性,提升了用户体验。
<数据查询装置>
图4是可应用在本公开实施例的第一种数据查询装置的结构示意图。如图4所示,该数据查询装置400包括获取模块401、生成模块402、接收模块403、解析模块404和运行模块405。
获取模块401用于获取查询需求,查询需求中包括一条或者多条筛选条件。
生成模块402用于根据查询需求生成动态SQL语句。
接收模块403用于接收查询指令,查询指令中包括每条筛选条件对应的筛选参数。
解析模块404用于响应于查询指令,对动态SQL语句进行解析;对动态SQL语句进行解析,包括:将筛选参数导入动态SQL语句中,按照预设的解析规则将动态SQL语句解析为可执行SQL命令。
运行模块405用于运行可执行SQL命令得到查询结果。
本公开实施例的数据查询装置的一个有益效果在于,根据查询需求预先生成动态SQL语句,用户在每次查询时不需要重新编写动态SQL语句,只需要提供筛选参数就可以将动态SQL语句解析为可执行SQL命令并执行得到查询结果,从而提升查询的速度和便捷性,提升了用户体验。
在一些实施例中,查询需求中可以包括一条或者多条筛选条件,每条筛选条件均包括筛选字段以及与筛选字段对应的筛选运算符。
在一些实施例中,查询需求包括多条筛选条件时,查询需求中还包括多条筛选条件之间的逻辑关系。
在一些实施例中,查询需求中还包括查询字段。
在一些实施例中,查询需求中还可以包括提交查询需求的用户的身份标识。
在一些实施例中,查询指令中还可以包括发送查询指令的用户的身份标识。
在一个例子中,查询需求中包括多条筛选条件,查询需求中还包括多条筛选条件之间的逻辑关系,筛选条件包括筛选字段以及与筛选字段对应的筛选运算符。生成模块402包括第一生成子模块和第二生成子模块。
第一生成子模块用于针对每条筛选条件分别生成筛选条件字符串。
第二生成子模块用于根据多条筛选条件之间的逻辑关系和预设的标签的语义,选取标签并使用选取的标签将全部筛选条件字符串组织成动态SQL语句。
在一个例子中,查询需求中包括一条筛选条件,筛选条件包括筛选字段以及与筛选字段对应的筛选运算符。生成模块402包括第三生成子模块和第四生成子模块。
第一生成子模块用于根据筛选条件生成筛选条件字符串。
第二生成子模块用于使用预设的默认标签,将筛选条件字符串组织成动态SQL语句。
图5是可应用在本公开实施例的第二种数据查询装置的结构示意图,该数据查询装置500包括获取模块501、生成模块502、接收模块503、解析模块504、运行模块505以及查询需求检查模块510。
获取模块501用于获取查询需求,查询需求中包括一条或者多条筛选条件,筛选条件包括筛选字段以及与筛选字段对应的筛选运算符。
查询需求检查模块510用于检查筛选条件中的筛选字段的属性和筛选运算符是否匹配。
生成模块502用于在查询需求检查模块510的检查结果为是的情况下,根据查询需求生成动态SQL语句。
接收模块503用于接收查询指令,查询指令中包括每条筛选条件对应的筛选参数。
解析模块504用于响应于查询指令,对动态SQL语句进行解析;对动态SQL语句进行解析,包括:将筛选参数导入动态SQL语句中,按照预设的解析规则将动态SQL语句解析为可执行SQL命令。
运行模块505用于运行可执行SQL命令得到查询结果。
在本公开实施例中,在根据查询需求生成动态SQL语句之前,还需要检查筛选条件中的筛选字段的属性和筛选运算符是否匹配,在匹配的情况下生成动态SQL语句。本公开实施例对筛选字段的属性和筛选运算符是否匹配进行检查以验证查询需求的合理性,避免对不合理的查询需求生成动态SQL语句导致计算资源浪费。
图6是可应用在本公开实施例的第三种数据查询装置的结构示意图,该数据查询装置600包括获取模块601、生成模块602、接收模块603、解析模块604、运行模块605以及第一权限检查模块610。
获取模块601用于获取查询需求,查询需求中包括一条或者多条筛选条件,筛选条件包括筛选字段以及与筛选字段对应的筛选运算符。查询需求中还包括用户的身份标识和查询字段。
第一权限检查模块610,用于根据身份标识向权限服务器查询用户的查询权限,用户的查询权限包括用户具有权限的字段;以及,检查用户的查询权限中的字段是否涵盖查询需求中的查询字段和筛选字段。
生成模块602用于在第一权限检查模块610的检查结果为是的情况下,根据查询需求生成动态SQL语句。
接收模块603用于接收查询指令,查询指令中包括每条筛选条件对应的筛选参数。
解析模块604用于响应于查询指令,对动态SQL语句进行解析;对动态SQL语句进行解析,包括:将筛选参数导入动态SQL语句中,按照预设的解析规则将动态SQL语句解析为可执行SQL命令。
运行模块605用于运行可执行SQL命令得到查询结果。
在本公开实施例中,在根据查询需求生成动态SQL语句之前,需要查询用户的权限范围,用户只可以在其权限范围内进行查询需求设置,充分保证了数据的安全,提升了该数据查询装置的安全可靠性。
图7是可应用在本公开实施例的第四种数据查询装置的结构示意图,该数据查询装置700包括获取模块701、生成模块702、接收模块703、解析模块704、运行模块705以及查询指令检查模块710。
获取模块701用于获取查询需求,查询需求中包括一条或者多条筛选条件,筛选条件包括筛选字段以及与筛选字段对应的筛选运算符。
生成模块702用于根据查询需求生成动态SQL语句。
接收模块703用于接收查询指令,查询指令中包括每条筛选条件对应的筛选参数。
查询指令检查模块710用于根据筛选条件的筛选参数和筛选运算符,确定筛选条件对应的筛选范围;以及,检查筛选条件对应的筛选范围与筛选条件中的筛选字段的字段值范围是否匹配。
解析模块704用于在查询指令检查模块710的检查结果为是的情况下,响应于查询指令,对动态SQL语句进行解析;对动态SQL语句进行解析,包括:将筛选参数导入动态SQL语句中,按照预设的解析规则将动态SQL语句解析为可执行SQL命令。
运行模块705用于运行可执行SQL命令得到查询结果。
在本公开实施例中,在对动态SQL语句进行解析之前,需要检查筛选条件对应的筛选范围与筛选条件中的筛选字段的字段值范围是否匹配,在匹配的情况下对动态SQL语句进行解析,本公开实施例通过这种方式保证筛选范围的合理性,避免造成计算资源浪费。
图8是可应用在本公开实施例的第五种数据查询装置的结构示意图,该数据查询装置800包括获取模块801、生成模块802、接收模块803、解析模块804、运行模块805以及第二权限检查模块810。
获取模块801用于获取查询需求,查询需求中包括一条或者多条筛选条件,筛选条件包括筛选字段以及与筛选字段对应的筛选运算符。查询需求中还包括查询字段。
生成模块802用于根据查询需求生成动态SQL语句。
接收模块803用于接收查询指令,查询指令中包括每条筛选条件对应的筛选参数。查询指令中还包括用户的身份标识。
第二权限检查模块810,用于根据身份标识向权限服务器查询用户的查询权限,用户的查询权限包括用户具有权限的字段;以及,检查用户的查询权限中的字段是否涵盖查询需求中的查询字段和筛选字段。
解析模804用于在第二权限检查模块810的检查结果为是的情况下,响应于查询指令,对动态SQL语句进行解析;对动态SQL语句进行解析,包括:将筛选参数导入动态SQL语句中,按照预设的解析规则将动态SQL语句解析为可执行SQL命令。
运行模块805用于运行可执行SQL命令得到查询结果。
在本公开实施例中,在对动态SQL语句进行解析之前,需要查询用户的权限,用户只可以在其权限范围内进行数据查询,充分保证了数据的安全,提升了该数据查询装置的安全可靠性。
<电子设备>
图9是可应用本公开实施例的一种电子设备的结构示意图。如图9所示,该电子设备2000包括:存储器2001、处理器2002及存储在存储器2001上并可在处理器2002上运行的计算机程序,计算机程序被处理器2002执行时实现以上任意方法实施例中任一数据查询方法的步骤。
该电子设备例如可以是数据库服务器。该电子设备例如可以具有类似于图1所示的硬件配置。
<计算机可读存储介质>
在本发明实施例中,还提供了一种计算机可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现以上任意方法实施例中任一数据查询方法的步骤。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、系统和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人物来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人物来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人物能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

Claims (10)

1.一种数据查询方法,其特征在于,包括:
获取查询需求,所述查询需求中包括一条或者多条筛选条件,根据所述查询需求生成动态SQL语句;
接收查询指令,所述查询指令中包括每条所述筛选条件对应的筛选参数;
响应于所述查询指令,对所述动态SQL语句进行解析;所述对所述动态SQL语句进行解析,包括:将所述筛选参数导入所述动态SQL语句中,按照预设的解析规则将所述动态SQL语句解析为可执行SQL命令;
运行所述可执行SQL命令得到查询结果。
2.根据权利要求1所述的方法,其特征在于,所述查询需求包括多条筛选条件时,所述查询需求中还包括所述多条筛选条件之间的逻辑关系,所述筛选条件包括筛选字段以及与所述筛选字段对应的筛选运算符;
所述根据所述查询需求生成动态SQL语句,包括:
针对每条所述筛选条件分别生成筛选条件字符串;
根据所述逻辑关系和预设的标签的语义,选取标签并使用选取的标签将全部所述筛选条件字符串组织成所述动态SQL语句。
3.根据权利要求1所述的方法,其特征在于,所述查询需求包括一条筛选条件时,所述筛选条件包括筛选字段以及与所述筛选字段对应的筛选运算符;
所述根据所述查询需求生成动态SQL语句,包括:
根据所述筛选条件生成筛选条件字符串;
使用预设的默认标签,将所述筛选条件字符串组织成动态SQL语句。
4.根据权利要求1所述的方法,其特征在于,所述筛选条件包括筛选字段以及与所述筛选字段对应的筛选运算符;
在根据所述查询需求生成动态SQL语句之前,所述方法还包括:
检查所述筛选条件中的筛选字段的属性和筛选运算符是否匹配;
在匹配的情况下,执行根据所述查询需求生成动态SQL语句的步骤。
5.根据权利要求1所述的方法,其特征在于,所述筛选条件包括筛选字段以及与所述筛选字段对应的筛选运算符,所述查询需求中还包括用户的身份标识和查询字段;
在根据所述查询需求生成动态SQL语句之前,所述方法还包括:
根据所述身份标识向权限服务器查询所述用户的查询权限,所述用户的查询权限包括所述用户具有权限的字段;
检查所述用户的查询权限中的字段是否涵盖所述查询需求中的查询字段和筛选字段;
在是的情况下,执行根据所述查询需求生成动态SQL语句的步骤。
6.根据权利要求1所述的方法,其特征在于,所述筛选条件包括筛选字段以及与所述筛选字段对应的筛选运算符;
在对所述动态SQL语句进行解析之前,所述方法还包括:
根据所述筛选条件的筛选参数和筛选运算符,确定所述筛选条件对应的筛选范围;
检查所述筛选条件对应的筛选范围与所述筛选条件中的筛选字段的字段值范围是否匹配;
在匹配的情况下,执行所述对所述动态SQL语句进行解析的步骤。
7.根据权利要求1所述的方法,其特征在于,所述筛选条件包括筛选字段以及与所述筛选字段对应的筛选运算符,所述查询需求中还包括用户的查询字段;所述查询指令中还包括用户的身份标识;
在对所述动态SQL语句进行解析之前,所述方法还包括:
根据所述身份标识向权限服务器查询所述用户的查询权限,所述用户的查询权限包括所述用户具有权限的字段;
检查所述用户的查询权限中的字段是否涵盖所述查询需求中的查询字段和筛选字段;
在是的情况下,执行所述对所述动态SQL语句进行解析的步骤。
8.一种数据查询装置,其特征在于,包括:
获取模块,用于获取查询需求,所述查询需求中包括一条或者多条筛选条件;
生成模块,用于根据所述查询需求生成动态SQL语句;
接收模块,用于接收查询指令,所述查询指令中包括每条所述筛选条件对应的筛选参数;
解析模块,用于响应于所述查询指令,对所述动态SQL语句进行解析;所述对所述动态SQL语句进行解析,包括:将所述筛选参数导入所述动态SQL语句中,按照预设的解析规则将所述动态SQL语句解析为可执行SQL命令;
运行模块,用于运行所述可执行SQL命令得到查询结果。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序,以实现根据权利要求1-7中任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序在被处理器执行时,实现根据权利要求1-7中任意一项所述的方法。
CN202110146276.0A 2021-02-02 2021-02-02 数据查询方法、装置、电子设备及计算机可读存储介质 Pending CN112988781A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110146276.0A CN112988781A (zh) 2021-02-02 2021-02-02 数据查询方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110146276.0A CN112988781A (zh) 2021-02-02 2021-02-02 数据查询方法、装置、电子设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN112988781A true CN112988781A (zh) 2021-06-18

Family

ID=76346373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110146276.0A Pending CN112988781A (zh) 2021-02-02 2021-02-02 数据查询方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN112988781A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113779069A (zh) * 2021-09-15 2021-12-10 网易(杭州)网络有限公司 一种数据查询方法、装置、设备及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744891A (zh) * 2013-12-23 2014-04-23 大唐软件技术股份有限公司 一种数据查询方法和系统
CN107480280A (zh) * 2017-08-22 2017-12-15 金蝶软件(中国)有限公司 一种数据处理的方法以及相关设备
CN108959631A (zh) * 2018-07-24 2018-12-07 北京百度网讯科技有限公司 用于查询信息的方法和装置
CN109947788A (zh) * 2017-10-30 2019-06-28 北京京东尚科信息技术有限公司 数据查询方法和装置
CN110569266A (zh) * 2019-09-11 2019-12-13 北京启迪区块链科技发展有限公司 一种数据查询的方法、装置、设备及存储介质
CN111639078A (zh) * 2020-05-25 2020-09-08 北京百度网讯科技有限公司 数据查询方法、装置、电子设备以及可读存储介质
CN111914135A (zh) * 2020-07-24 2020-11-10 平安证券股份有限公司 数据查询方法、装置、电子设备及存储介质
CN112182014A (zh) * 2020-09-27 2021-01-05 北京金山云网络技术有限公司 数据库查询方法、装置、设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744891A (zh) * 2013-12-23 2014-04-23 大唐软件技术股份有限公司 一种数据查询方法和系统
CN107480280A (zh) * 2017-08-22 2017-12-15 金蝶软件(中国)有限公司 一种数据处理的方法以及相关设备
CN109947788A (zh) * 2017-10-30 2019-06-28 北京京东尚科信息技术有限公司 数据查询方法和装置
CN108959631A (zh) * 2018-07-24 2018-12-07 北京百度网讯科技有限公司 用于查询信息的方法和装置
CN110569266A (zh) * 2019-09-11 2019-12-13 北京启迪区块链科技发展有限公司 一种数据查询的方法、装置、设备及存储介质
CN111639078A (zh) * 2020-05-25 2020-09-08 北京百度网讯科技有限公司 数据查询方法、装置、电子设备以及可读存储介质
CN111914135A (zh) * 2020-07-24 2020-11-10 平安证券股份有限公司 数据查询方法、装置、电子设备及存储介质
CN112182014A (zh) * 2020-09-27 2021-01-05 北京金山云网络技术有限公司 数据库查询方法、装置、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113779069A (zh) * 2021-09-15 2021-12-10 网易(杭州)网络有限公司 一种数据查询方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
US9047346B2 (en) Reporting language filtering and mapping to dimensional concepts
CN108959631B (zh) 用于查询信息的方法和装置
WO2017046729A1 (en) Natural language interface to databases
US20190087463A1 (en) Semantic mapping of form fields
US20120131556A1 (en) Xpath-based selection assistance of gui elements during manual test script authoring for xml-based applications
CN110555030A (zh) 一种sql语句的处理方法和装置
US20190050376A1 (en) Automatic value formatting based on intrinsic structural semantics
US20200151276A1 (en) Cognitive automation tool
US9442718B1 (en) System for assisting in locating changes in source code version control system
US9798650B1 (en) Application testing system and method
US10592304B2 (en) Suggesting application programming interfaces based on feature and context analysis
US8260772B2 (en) Apparatus and method for displaying documents relevant to the content of a website
CN104462504A (zh) 基于搜索中提供推理过程数据的方法和装置
CN110020358A (zh) 用于生成动态页面的方法和装置
US8615733B2 (en) Building a component to display documents relevant to the content of a website
CN112988781A (zh) 数据查询方法、装置、电子设备及计算机可读存储介质
CN108694172B (zh) 信息输出方法和装置
CN107077499B (zh) 用于内容管理系统的映射定义的生成
US10902028B2 (en) Managing a classification system and associated selection mechanism
US20220269744A1 (en) Methods and systems for enabling dynamic filters for software search optimization
GB2528697A (en) Generating a database structure from a scanned drawing
CN105574019A (zh) 一种查询参数处理方法及装置
EP3425510A1 (en) Automated testing method for application program user interface, electronic device, system, and storage medium
CN116888584A (zh) 数据集成背景中的标准化
US10445415B1 (en) Graphical system for creating text classifier to match text in a document by combining existing classifiers

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