CN115344569A - 数据库查询方法、装置及设备 - Google Patents
数据库查询方法、装置及设备 Download PDFInfo
- Publication number
- CN115344569A CN115344569A CN202110527269.5A CN202110527269A CN115344569A CN 115344569 A CN115344569 A CN 115344569A CN 202110527269 A CN202110527269 A CN 202110527269A CN 115344569 A CN115344569 A CN 115344569A
- Authority
- CN
- China
- Prior art keywords
- query
- database
- logic
- sentence
- component
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000010586 diagram Methods 0.000 claims abstract description 45
- 238000012545 processing Methods 0.000 claims description 61
- 239000012634 fragment Substances 0.000 claims description 35
- 238000012360 testing method Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 238000012423 maintenance Methods 0.000 claims description 2
- 238000013461 design Methods 0.000 description 7
- 238000010276 construction Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2445—Data retrieval commands; View definitions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种数据库查询方法、装置及设备,该方法包括:配置业务系统的数据源;根据已配置的数据源,获取数据源对应的数据库表结构;根据数据库表结构,响应于用户在查询逻辑绘制窗口对查询逻辑工具集中的多个查询逻辑组件进行拖拽、拼接操作后,绘制业务系统的数据库查询逻辑图;根据数据库查询逻辑图生成数据库查询逻辑代码,并将数据库查询逻辑代码发送至业务系统端,以使业务系统端保存数据库查询逻辑代码,以在业务系统端接收查询请求时根据保存的数据库查询逻辑代码生成数据库查询语句,并根据查询语句获取查询结果;接收业务系统端返回的查询结果。本实施例能够简便、快速的对关系型数据库的查询逻辑构建及数据库查询。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种数据库查询方法、装置及设备。
背景技术
关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,为便于用户理解,关系型数据库中一系列的行和列被称为表,一组表组成了数据库。结构化查询语言(Structured Query Language,简称SQL),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于在关系型数据库中存储数据,以及查询、更新和管理关系型数据库系统。
目前,基于Web端的业务系统通常包括前端和后段两部分,后端根据前端传递的具体要求执行复杂的业务处理,前端则向用户展示后端的业务处理结果。而关系型数据查询是当前大多数业务系统中必不可少的操作过程,一般采用SQL语句执行查询过程,但是SQL语句的使用相对比较复杂,一般只能有专业编程人员完成。
因此,亟需一种简便、快速的关系型数据库的查询逻辑构建及数据库查询方法。
发明内容
本发明实施例提供一种数据库查询方法、装置及设备,以实现能够简便、快速的对关系型数据库的查询逻辑构建及数据库查询的技术效果。
第一方面,本发明实施例提供一种数据库查询方法,包括:
配置业务系统的数据源;
根据已配置的数据源,获取所述数据源对应的数据库表结构;
根据所述数据库表结构,响应于用户在查询逻辑绘制窗口对查询逻辑工具集中的多个查询逻辑组件进行拖拽、拼接操作后,绘制所述业务系统的数据库查询逻辑图;
根据所述数据库查询逻辑图生成数据库查询逻辑代码,并将所述数据库查询逻辑代码发送至业务系统端,以使所述业务系统端保存所述数据库查询逻辑代码,以在所述业务系统端接收查询请求时根据保存的所述数据库查询逻辑代码生成数据库查询语句,并根据所述查询语句获取查询结果;
接收所述业务系统端返回的所述查询结果。
在一种可能的设计中,所述根据所述数据库表结构,通过用户在查询逻辑绘制窗口对查询逻辑工具集中的多个查询逻辑组件进行拖拽、拼接后,绘制所述业务系统的数据库查询逻辑图,包括:
响应于用户的拖拽、拼接操作从所述查询逻辑工具集中选取多个查询逻辑组件至查询逻辑绘制窗口;
根据所述多个查询逻辑组件,根据所述数据库表结构,选择数据表,并确定数据表对应查询语句段;
根据所述多个查询逻辑组件和所述查询语句段,生成所述业务系统的数据库查询逻辑图。
在一种可能的设计中,所述查询逻辑工具集中包含的查询逻辑组件,包括:语句段处理类组件,用于根据用户操作生成一条具体的查询语句;查询片段处理类组件,用于根据用户操作为所述具体的查询语句进行配置细节处理。
在一种可能的设计中,
查询语句段组件,用于处理结构化查询语言SQL查询中的SELECT语句,通过选择数据表确定查询对该数据表的查询语句段;
新增语句段组件,用于处理SQL查询中的INSERT语句,通过选择数据表新增查询语句段;
更新语句段组件,用于处理SQL查询中的UPDATE语句,通过选择数表据更新查询语句段;
删除语句段组件,用于处理SQL查询中的DELETE语句,通过选择数据表删除查询语句段;
所述查询片段处理类组件包括:
结果字段选取组件,用于通过选择数据表字段完成查询返回字段的选取;
排序处理组件,用于对所述查询语句段组件中的查询语句段进行排序;
查询条件组件,用于对所述新增语句段组件、更新语句段组件、删除语句段组件中的查询语句段设置查询条件;
条件字段选取组件,用于指定所述查询条件组件中的查询条件比较项;
表连接处理组件,用于设置所述数据表的表连接处理;
逻辑控制组件,用于对所述查询条件组件的查询条件设置逻辑关系;
字段赋值组件,用于所述新增语句段组件、更新语句段组件中,通过指定选择数据表和数据字段,并指定赋值数据对数据字段进行赋值;
事务语句段组件,用于对查询语句段组件、新增语句段组件、更新语句段组件和删除语句段组件中的查询语句段进行嵌套形成一个事务语句段。
在一种可能的设计中,所述根据所述数据库表结构,响应于用户在查询逻辑绘制窗口对查询逻辑工具集中的多个查询逻辑组件进行拖拽、拼接操作后,绘制所述业务系统的数据库查询逻辑图之后,包括:
根据所述数据库查询逻辑图生成数据库查询逻辑代码,并将所述数据库查询逻辑代码发送至服务器端,以使所述服务器端根据所述数据库查询逻辑代码生成数据库查询语句,并根据所述查询语句获取测试结果;
接收所述服务器端返回的所述测试结果。
第二方面,本发明实施例提供一种数据库查询装置,包括:
配置模块,用于配置业务系统的数据源;
获取模块,用于根据已配置的数据源,获取所述数据源对应的数据库表结构;
绘制模块,用于根据所述数据库表结构,响应于用户在查询逻辑绘制窗口对查询逻辑工具集中的多个查询逻辑组件进行拖拽、拼接操作后,绘制所述业务系统的数据库查询逻辑图;
处理模块,用于根据所述数据库查询逻辑图生成数据库查询逻辑代码,并将所述数据库查询逻辑代码发送至业务系统端,以使所述业务系统端保存所述数据库查询逻辑代码,以在所述业务系统端接收查询请求时根据保存的所述数据库查询逻辑代码生成数据库查询语句,并根据所述查询语句获取查询结果;
接收模块,用于接收所述业务系统端返回的所述查询结果。
第三方面,本发明实施例提供一种浏览器端,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的数据库查询方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的数据库查询方法。
第五方面,本发明实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第一方面以及第一方面各种可能的设计所述的数据库查询方法。
本发明实施例提供的数据库查询方法、装置及设备,该方法首先,获取业务系统的数据源对应的数据库表结构;然后,响应于用户在查询逻辑绘制窗口对查询逻辑工具集中的多个查询逻辑组件进行拖拽、拼接操作后,根据数据库表结构绘制业务系统的数据库查询逻辑图,并根据所述数据库查询逻辑图生成数据库查询逻辑代码;最后,将所述数据库查询逻辑代码发送至业务系统端,以使所述业务系统端保存所述数据库查询逻辑代码,以在所述业务系统端接收查询请求时根据保存的所述数据库查询逻辑代码生成数据库查询语句,并根据所述查询语句获取查询结果。本发明实施例采用用户可视化构建复杂查询语句,通过组件拖拽实现处理逻辑,避免编写复杂查询代码,能够简便、快速的实现关系型数据库的查询逻辑构建及数据库查询。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的数据库查询系统的系统架构示意图;
图2为本发明实施例提供的数据库查询方法的流程示意图;
图3为本发明实施例提供的数据库查询装置的结构示意图;
图4为本发明实施例提供的浏览器端的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
基于Web的业务系统包括前端和后端两部分,后端根据前端传递的具体要求执行复杂的业务处理,前端则向用户展现后端的业务处理结果。关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。结构化查询语言(Structured QueryLanguage)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。关系型数据库查询是当前大多数业务系统中必不可少的操作过程,一般采用SQL语句执行查询过程,而SQL语句的使用相对复杂,一般只能由专业人员完成。无代码开发是近几年兴起的一种软件开发方式,即软件开发者无需通过手工编码一样可以达到目标需求的一种软件开发方式。为此,本发明提供了一种数据库查询方法,通过根据用户的操作,在前端通过图形化、拖拽的方式,将前端的SQL组件拼装成数据库查询逻辑图的可视化构建;前端对可视化数据库查询逻辑图进行转换,生成后端可执行的数据库查询逻辑代码;在运行态或调试态,后端通过解析并执行数据库查询代码,完成数据库的查询操作。本发明可以充分支持关系型数据库的多种复杂查询场景,满足用户可视化构建复杂查询的需求,完全通过组件拖拽实现处理逻辑,降低了编写复杂查询的门槛,为支持用户在无代码开发平台上完成复杂的关系型数据库查询提供了较好的解决方案。
图1为本发明实施例提供的数据库查询系统的系统架构示意图。如图1所示,本实施例提供的系统包括浏览器端101、服务器端102和业务系统端102。
其中,浏览器端101,用于无代码开发平台的用户,通过用户拖拽、拼接操作可视化的查询逻辑工具集中的组件以构建查询逻辑代码。服务器端102,用于接收浏览器端101发送的查询逻辑代码,对查询逻辑代码进行解释得到查询语句,并对解释后的查询语句进行查询执行,以获得测试结果,并将测试结果反馈至浏览器端101。业务系统端102,用于在测试结果满足使用条件时,接收浏览器端101发送的查询逻辑代码,并保存查询逻辑代码,在业务系统端接收到其他用户的查询请求时对保存的查询逻辑代码进行解释生成查询语句,执行查询语句以获取查询结果,并将查询结果发送至浏览器端101或其他的客户端。
图2为本发明实施例提供的数据库查询方法的流程示意图,本实施例的执行主体可以为图1所示实施例中的浏览器端。如图2所示,该方法包括:
S201:配置业务系统的数据源。
在本实施例中,业务系统为待查询的业务对应的查询系统。该业务系统可以配置在一台或多台服务器上,用户通过浏览器等客户端访问该业务系统以查询对应的数据结果。
在本实施例中,通过浏览器端的数据源维护工具进行配置,配置内容包括数据源的JDBC地址(Java Database Connectivity,Java数据库连接)、用户名和密码等。
S202:根据已配置的数据源,获取所述数据源对应的数据库表结构。
在本实施例中,根据已配置的数据源,通过数据源逆向功能获取数据源所对应的数据库表结构,并将信息存储在浏览器本地缓存用于后续操作使用
其中,数据库表结构包括数据表和数据表中的字段、类型、主键、外键、索引等属性信息。
S203:根据所述数据库表结构,响应于用户在查询逻辑绘制窗口对查询逻辑工具集中的多个查询逻辑组件进行拖拽、拼接操作后,绘制所述业务系统的数据库查询逻辑图。
在本实施例中,浏览器端上运行有数据库查询逻辑配置软件,用户在数据库查询逻辑配置软件的查询逻辑绘制窗口中,通过拖拽、拼接操作,将查询逻辑工具集中的多个查询逻辑组件放入查询逻辑绘制窗口,并将数据库表结构中的数据表和字段、类型、主键、外键、索引等属性信息进行编辑,绘制得到业务系统的数据库查询逻辑图。
具体地,步骤S203具体包括如下步骤:
S2031:响应于用户的拖拽、拼接操作从所述查询逻辑工具集中选取多个查询逻辑组件至查询逻辑绘制窗口。
S2032:根据所述多个查询逻辑组件,根据所述数据库表结构,选择数据表,并确定数据表对应查询语句段。
S2033:根据所述多个查询逻辑组件和所述查询语句段,生成所述业务系统的数据库查询逻辑图。
其中,所述查询逻辑工具集中包含的查询逻辑组件,包括:语句段处理类组件,用于根据用户操作生成一条具体的查询语句;查询片段处理类组件,用于根据用户操作为所述具体的查询语句进行配置细节处理。
其中,所述语句段处理类组件包括:
查询语句段组件,用于处理结构化查询语言SQL查询中的SELECT语句,通过选择数据表确定查询对该数据表的查询语句段。对应SQL查询中的SELECT语句,通过选择数据表来支持对某个具体数据表的查询操作,支持向段落中组装查询条件、返回字段、排序、表连接、条件的逻辑控制、分页操作,支持为数据表定义别名,支持通过变量指定单页数据量和页码。
新增语句段组件,用于处理SQL查询中的INSERT语句,通过选择数据表新增查询语句段。对应SQL查询中的INSERT语句,通过选择数据表来支持对某个具体数据表的插入操作,支持向段落中组装多个字段赋值来完成语义。
更新语句段组件,用于处理SQL查询中的UPDATE语句,通过选择数表据更新查询语句段。对应SQL查询中的UPDATE语句,通过选择数据表来支持更新操作,支持向段落中组装多个字段赋值来定义更新的内容,支持想段落中组装多个逻辑控制或查询条件来进行所需更新数据的定位。
删除语句段组件,用于处理SQL查询中的DELETE语句,通过选择数据表删除查询语句段。对应SQL查询中的DELETE语句,通过选择数据表来支持删除操作,支持向段落中组装多个逻辑控制或查询条件来进行所需删除数据的定位。
其中,所述查询片段处理类组件包括:
结果字段选取组件,用于通过选择数据表字段完成查询返回字段的选取。用于查询语句段中,通过选择数据表的字段完成返回字段的选取,可以由多个结果字段选取块共同拼接为一组返回字段,也可以支持选取数据源中的未在查询语句段所选数据表之外的其他数据表中的字段(一般用于表连接处理),支持为字段定义别名。
排序处理组件,用于对所述查询语句段组件中的查询语句段进行排序。用于查询语句段组件中,通过选择数据表的字段、排序方式(升序、降序)来支持查询语句的排序功能。
查询条件组件,用于对所述新增语句段组件、更新语句段组件、删除语句段组件中的查询语句段设置查询条件。
条件字段选取组件,用于指定所述查询条件组件中的查询条件比较项。具体包括用于查询语句段、新增语句段、更新语句段、删除语句段以及表连接处理、逻辑控制组件中中,作为查询条件使用,支持通过条件字段组件选取比较项,支持通过变量指定比较项,支持选择比较方式(等于、大于、小于、大于等于、小于等于、不等于、LIKE、IN),支持在比较项为NULL、空字符或空格时忽略该条件。
表连接处理组件,用于设置所述数据表的表连接处理。用于查询语句段组件中,通过选择数据表并拼接条件字段选取来完成表连接处理,支持连接类型选择(内连接、左连接、右连接)、数据表选择、连接表的别名定义。
逻辑控制组件,用于对所述查询条件组件的查询条件设置逻辑关系。具体用于对多个查询条件进行逻辑控制,以组成一个完整的查询条件,支持选择并且、或者两种逻辑关系。
字段赋值组件,用于所述新增语句段组件、更新语句段组件中,通过指定选择数据表和数据字段,并指定赋值数据对数据字段进行赋值。具体用于新增语句段、更新语句段中,通过指定选择数据表和数据字段,并指定赋值数据来支持对数据字段的赋值操作,支持通过变量指定赋值数据。
事务语句段组件,用于对查询语句段组件、新增语句段组件、更新语句段组件和删除语句段组件中的查询语句段进行嵌套形成一个事务语句段。具体用于对应个数据库操作事务,支持对查询语句段、新增语句段、更新语句段、删除语句段各组件中的语句段进行外部嵌套,支持对多个语句段嵌套,嵌套后,所有语句段视为共同组成一个事务。
S204:根据所述数据库查询逻辑图生成数据库查询逻辑代码,并将所述数据库查询逻辑代码发送至业务系统端,以使所述业务系统端保存所述数据库查询逻辑代码,以在所述业务系统端接收查询请求时根据保存的所述数据库查询逻辑代码生成数据库查询语句,并根据所述查询语句获取查询结果。
在本实施例中,浏览器端上运行有查询逻辑代码转换器,通过查询逻辑代码转换器可以根据数据库查询逻辑图配置的数据库查询语句逻辑图,生成数据库查询语句对应的数据库查询逻辑代码。查询逻辑代码转换器是一种代码编译器,用于将数据库查询语句逻辑图编译为可以让计算机执行的代码。
在本实施例中,业务系统端通过手工集成或无代码开发平台自动构建的方式将数据库查询逻辑代码保存集成至业务系统中。业务系统端,在接收到查询任务时,通过查询逻辑代码解释器将数据库查询逻辑代码转换为具体的可执行的数据库查询语句,并通过查询逻辑执行器执行数据库查询语句,并获取执行的查询结果。
S205:接收所述业务系统端返回的所述查询结果。
在本实施例中,可以根据业务系统端的查询功能返回对应的查询结果。
其中,查询结果包括执行结果或错误信息。执行结果包括查询到的数据结果,错误信息包括错误码。
从上述描述可知,首先,获取业务系统的数据源对应的数据库表结构;然后,响应于用户在查询逻辑绘制窗口对查询逻辑工具集中的多个查询逻辑组件进行拖拽、拼接操作后,根据数据库表结构绘制业务系统的数据库查询逻辑图,并根据所述数据库查询逻辑图生成数据库查询逻辑代码;最后,将所述数据库查询逻辑代码发送至业务系统端,以使所述业务系统端保存所述数据库查询逻辑代码,以在所述业务系统端接收查询请求时根据保存的所述数据库查询逻辑代码生成数据库查询语句,并根据所述查询语句获取查询结果。本发明实施例采用用户可视化构建复杂查询语句,通过组件拖拽实现处理逻辑,避免编写复杂查询代码,能够简便、快速的实现关系型数据库的查询逻辑构建及数据库查询。
在本发明的一个实施例中,在步骤S203,据所述数据库表结构,响应于用户在查询逻辑绘制窗口对查询逻辑工具集中的多个查询逻辑组件进行拖拽、拼接操作后,绘制所述业务系统的数据库查询逻辑图之后,包括:
S206:根据所述数据库查询逻辑图生成数据库查询逻辑代码,并将所述数据库查询逻辑代码发送至服务器端,以使所述服务器端根据所述数据库查询逻辑代码生成数据库查询语句,并根据所述查询语句获取测试结果。
S207:接收所述服务器端返回的所述测试结果。
在本实施例中,服务器端通过查询逻辑代码解释器将数据库查询逻辑代码转换为具体的可执行的数据库查询语句;并通过查询逻辑执行器执行数据库查询语句,并获取执行的测试结果。
从上述描述可知,通过将数据库查询逻辑代码发送至服务器端进行测试,并将测试结果返回至浏览器端,是的用户可以及时了解通过拖拽、拼接操作查询逻辑组件构建数据库查询语句是否是正确的,供用户修改参考的依据。
在本发明的一个实施例中,在步骤S207,接收所述服务器端返回的所述测试结果之后,还包括:
S208:若所述测试结果为正确,则保存所述数据库查询逻辑图;
S209:若所述测试结果为错误,则保存所述数据库查询逻辑图,并显示错误提示信息。
在本实施例中,当数据库查询逻辑图绘制、测试完毕,用户可以将已完成的数据库查询逻辑图进行保存,以供用户下次修改或在业务系统可执行程序时直接使用。
图3为本发明实施例提供的数据库查询装置的结构示意图。如图3所示,该数据库查询装置30包括:配置模块301、获取模块302、绘制模块303、处理模块304和接收模块305。
其中,配置模块301,用于配置业务系统的数据源;
获取模块302,用于根据已配置的数据源,获取所述数据源对应的数据库表结构;
绘制模块303,用于根据所述数据库表结构,响应于用户在查询逻辑绘制窗口对查询逻辑工具集中的多个查询逻辑组件进行拖拽、拼接操作后,绘制所述业务系统的数据库查询逻辑图;
处理模块304,用于根据所述数据库查询逻辑图生成数据库查询逻辑代码,并将所述数据库查询逻辑代码发送至业务系统端,以使所述业务系统端保存所述数据库查询逻辑代码,以在所述业务系统端接收查询请求时根据保存的所述数据库查询逻辑代码生成数据库查询语句,并根据所述查询语句获取查询结果;
接收模块305,用于接收所述业务系统端返回的所述查询结果。
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
在本发明的一个实施例中,所述绘制模块303,具体用于响应于用户的拖拽、拼接操作从所述查询逻辑工具集中选取多个查询逻辑组件至查询逻辑绘制窗口;根据所述多个查询逻辑组件,根据所述数据库表结构,选择数据表,并确定数据表对应查询语句段;根据所述多个查询逻辑组件和所述查询语句段,生成所述业务系统的数据库查询逻辑图。
在本发明的一个实施例中,所述查询逻辑工具集中包含的查询逻辑组件,包括:语句段处理类组件,用于生成一条具体的查询语句;查询片段处理类组件,用于为所述具体的查询语句进行配置细节处理。
在本发明的一个实施例中,所述语句段处理类组件包括:
查询语句段组件,用于处理结构化查询语言SQL查询中的SELECT语句,通过选择数据表确定查询对该数据表的查询语句段;
新增语句段组件,用于处理SQL查询中的INSERT语句,通过选择数据表新增查询语句段;
更新语句段组件,用于处理SQL查询中的UPDATE语句,通过选择数表据更新查询语句段;
删除语句段组件,用于处理SQL查询中的DELETE语句,通过选择数据表删除查询语句段;
所述查询片段处理类组件包括:
结果字段选取组件,用于通过选择数据表字段完成查询返回字段的选取;
排序处理组件,用于对所述查询语句段组件中的查询语句段进行排序;
查询条件组件,用于对所述新增语句段组件、更新语句段组件、删除语句段组件中的查询语句段设置查询条件;
条件字段选取组件,用于指定所述查询条件组件中的查询条件比较项;
表连接处理组件,用于设置所述数据表的表连接处理;
逻辑控制组件,用于对所述查询条件组件的查询条件设置逻辑关系;
字段赋值组件,用于所述新增语句段组件、更新语句段组件中,通过指定选择数据表和数据字段,并指定赋值数据对数据字段进行赋值;
事务语句段组件,用于对查询语句段组件、新增语句段组件、更新语句段组件和删除语句段组件中的查询语句段进行嵌套形成一个事务语句段。
在本发明的一个实施例中,所述处理模块304,还用于根据所述数据库查询逻辑图生成数据库查询逻辑代码,并将所述数据库查询逻辑代码发送至服务器端,以使所述服务器端根据所述数据库查询逻辑代码生成数据库查询语句,并根据所述查询语句获取测试结果;接收所述服务器端返回的所述测试结果。
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图4为本发明实施例提供的浏览器端的硬件结构示意图。如图4所示,本实施例的浏览器端40包括:处理器401以及存储器402;其中
存储器402,用于存储计算机执行指令;
处理器401,用于执行存储器存储的计算机执行指令,以实现上述实施例中浏览器端所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。
可选地,存储器402既可以是独立的,也可以跟处理器401集成在一起。
当存储器402独立设置时,该浏览器端还包括总线403,用于连接所述存储器402和处理器401。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的数据库查询方法。
本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上所述的数据库查询方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种数据库查询方法,其特征在于,应用到浏览器端,包括:
配置业务系统的数据源;
根据已配置的数据源,获取所述数据源对应的数据库表结构;
根据所述数据库表结构,响应于用户在查询逻辑绘制窗口对查询逻辑工具集中的多个查询逻辑组件进行拖拽、拼接操作后,绘制所述业务系统的数据库查询逻辑图;
根据所述数据库查询逻辑图生成数据库查询逻辑代码,并将所述数据库查询逻辑代码发送至业务系统端,以使所述业务系统端保存所述数据库查询逻辑代码,以在所述业务系统端接收查询请求时根据保存的所述数据库查询逻辑代码生成数据库查询语句,并根据所述查询语句获取查询结果;
接收所述业务系统端返回的所述查询结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据库表结构,通过用户在查询逻辑绘制窗口对查询逻辑工具集中的多个查询逻辑组件进行拖拽、拼接后,绘制所述业务系统的数据库查询逻辑图,包括:
响应于用户的拖拽、拼接操作从所述查询逻辑工具集中选取多个查询逻辑组件至查询逻辑绘制窗口;
根据所述多个查询逻辑组件,根据所述数据库表结构,选择数据表,并确定数据表对应查询语句段;
根据所述多个查询逻辑组件和所述查询语句段,生成所述业务系统的数据库查询逻辑图。
3.根据权利要求2所述的方法,其特征在于,所述查询逻辑工具集中包含的查询逻辑组件,包括:语句段处理类组件,用于根据用户操作生成一条具体的查询语句;查询片段处理类组件,用于根据用户操作为所述具体的查询语句进行配置细节处理。
4.根据权利要求3所述的方法,其特征在于,所述语句段处理类组件包括:
查询语句段组件,用于处理结构化查询语言SQL查询中的SELECT语句,通过选择数据表确定查询对该数据表的查询语句段;
新增语句段组件,用于处理SQL查询中的INSERT语句,通过选择数据表新增查询语句段;
更新语句段组件,用于处理SQL查询中的UPDATE语句,通过选择数表据更新查询语句段;
删除语句段组件,用于处理SQL查询中的DELETE语句,通过选择数据表删除查询语句段;
所述查询片段处理类组件包括:
结果字段选取组件,用于通过选择数据表字段完成查询返回字段的选取;
排序处理组件,用于对所述查询语句段组件中的查询语句段进行排序;
查询条件组件,用于对所述新增语句段组件、更新语句段组件、删除语句段组件中的查询语句段设置查询条件;
条件字段选取组件,用于指定所述查询条件组件中的查询条件比较项;
表连接处理组件,用于设置所述数据表的表连接处理;
逻辑控制组件,用于对所述查询条件组件的查询条件设置逻辑关系;
字段赋值组件,用于所述新增语句段组件、更新语句段组件中,通过指定选择数据表和数据字段,并指定赋值数据对数据字段进行赋值;
事务语句段组件,用于对查询语句段组件、新增语句段组件、更新语句段组件和删除语句段组件中的查询语句段进行嵌套形成一个事务语句段。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述根据所述数据库表结构,响应于用户在查询逻辑绘制窗口对查询逻辑工具集中的多个查询逻辑组件进行拖拽、拼接操作后,绘制所述业务系统的数据库查询逻辑图之后,包括:
根据所述数据库查询逻辑图生成数据库查询逻辑代码,并将所述数据库查询逻辑代码发送至服务器端,以使所述服务器端根据所述数据库查询逻辑代码生成数据库查询语句,并根据所述查询语句获取测试结果;
接收所述服务器端返回的所述测试结果。
6.一种数据库查询装置,其特征在于,包括:
配置模块,用于配置业务系统的数据源;
获取模块,用于根据已配置的数据源,获取所述数据源对应的数据库表结构;
绘制模块,用于根据所述数据库表结构,响应于用户在查询逻辑绘制窗口对查询逻辑工具集中的多个查询逻辑组件进行拖拽、拼接操作后,绘制所述业务系统的数据库查询逻辑图;
处理模块,用于根据所述数据库查询逻辑图生成数据库查询逻辑代码,并将所述数据库查询逻辑代码发送至业务系统端,以使所述业务系统端保存所述数据库查询逻辑代码,以在所述业务系统端接收查询请求时根据保存的所述数据库查询逻辑代码生成数据库查询语句,并根据所述查询语句获取查询结果;
接收模块,用于接收所述业务系统端返回的所述查询结果。
7.一种数据库查询系统,其特征在于,包括:浏览器端、服务器端和业务系统端,
所述浏览器端,用于过数据源维护工具配置业务系统的数据源;根据已配置的数据源,获取所述数据源对应的数据库表结构;根据所述数据库表结构,通过用户在查询逻辑绘制窗口对查询逻辑工具集中的多个查询逻辑组件进行拖拽、拼接后,绘制所述业务系统的数据库查询逻辑图;根据所述数据库查询逻辑图生成数据库查询逻辑代码,并将所述数据库查询逻辑代码发送至业务系统端或所述业务系统端;
所述服务器端,用于根据所述数据库查询逻辑代码生成数据库查询语句,并根据所述查询语句获取测试结果,并将测试结果发送至所述浏览器端;
所述业务系统端,用于保存所述数据库查询逻辑代码,以在所述业务系统端接收查询请求时根据保存的所述数据库查询逻辑代码生成数据库查询语句,并根据所述查询语句获取查询结果,并经查询结果发送至所述浏览器端。
8.一种浏览器端,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至5任一项所述的数据库查询方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至5任一项所述的数据库查询方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述的数据库查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110527269.5A CN115344569A (zh) | 2021-05-14 | 2021-05-14 | 数据库查询方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110527269.5A CN115344569A (zh) | 2021-05-14 | 2021-05-14 | 数据库查询方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115344569A true CN115344569A (zh) | 2022-11-15 |
Family
ID=83977629
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110527269.5A Pending CN115344569A (zh) | 2021-05-14 | 2021-05-14 | 数据库查询方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115344569A (zh) |
-
2021
- 2021-05-14 CN CN202110527269.5A patent/CN115344569A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109992589B (zh) | 基于可视化页面生成sql语句的方法、装置、服务器及介质 | |
CN107402992B (zh) | 一种分布式NewSQL数据库系统和全文检索建立方法 | |
CN108519967B (zh) | 图表可视化方法、装置、终端和存储介质 | |
CN106598612B (zh) | 一种数据库中数据表的操作方法及系统 | |
CN110795455A (zh) | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 | |
CN111708804B (zh) | 数据处理方法、装置、设备及介质 | |
CN107679056B (zh) | 生成sql语句的方法、电子装置及可读存储介质 | |
US10496702B2 (en) | System integrator and method for mapping dynamic COBOL constructs to object instances for the automatic integration to object-oriented computing systems | |
CN108763341B (zh) | 电子装置、自动化建表方法及存储介质 | |
CN110502317B (zh) | 一种事务管理的方法和装置 | |
CN110727777A (zh) | 知识图谱的管理方法、装置、计算机设备和存储介质 | |
CN109977104B (zh) | 数据管理方法及装置 | |
CN108694172B (zh) | 信息输出方法和装置 | |
CN113094776A (zh) | 可视化组件模型数据构建的方法、系统及电子设备 | |
CN111752549A (zh) | Sql函数生成方法及装置 | |
CN115344569A (zh) | 数据库查询方法、装置及设备 | |
CN114138815A (zh) | 一种应用程序的多数据库兼容实现方法、设备及介质 | |
CN115617773A (zh) | 数据迁移的方法、装置和系统 | |
US10198249B1 (en) | Accessing schema-free databases | |
CN113590085B (zh) | 多源异构数据的处理方法、计算机设备、存储介质 | |
CN110413644B (zh) | 一种数据缓存方法、电子装置及计算机可读存储介质 | |
CN109101473B (zh) | 用于处理二维数据表的方法和装置 | |
US10846202B2 (en) | Multi-language heap analyzer | |
CN116955358A (zh) | 一种表单数据存储方法、装置、设备及存储介质 | |
CN118277406A (zh) | 基于大语言模型的sql语句生成方法、装置 |
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 |