CN109656951A - 基于表达式查询数据的方法及查询系统 - Google Patents
基于表达式查询数据的方法及查询系统 Download PDFInfo
- Publication number
- CN109656951A CN109656951A CN201811547027.7A CN201811547027A CN109656951A CN 109656951 A CN109656951 A CN 109656951A CN 201811547027 A CN201811547027 A CN 201811547027A CN 109656951 A CN109656951 A CN 109656951A
- Authority
- CN
- China
- Prior art keywords
- inquiry
- query
- data
- user
- expression
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于表达式查询数据的方法及查询系统。方法包括:设置需查询的列或字段信息;根据数据查询请求,用户按照约定的查询运算表达式设置查询条件;启动查询时,使用预设的解析规则处理所设置的查询条件进行查询;查询结束后,返回查询结果数据集。查询系统包括:查询对象预设模块、查询表达式设置模块、查询执行模块和结果显示模块。本发明通过定义的一整套操作符和通用的API解析函数,用户在输入查询参数信息中输入操作符+查询关键字,便可简洁、方便、友好的查询数据。本方法及装置的特点是设计简单、功能强大、通用性强、用户友好。
Description
技术领域
本发明属于计算机应用技术领域,特别涉及一种基于表达式查询数据的方法及查询系统。
背景技术
现有的计算机应用系统中,数据查询通常是针对已知的查询对象预先设计好的,需要开发人员在对应的SQL映射文件中手动定义查询对象属性列对应库表字段的查询条件,这意味着所有需要查询的列都需要在对应的SQL映射文件中一一配置,开发工作量大。
而且,SQL映射文件中手动定义的查询条件不具有灵活性,比如映射文件中定义某一个字段是模糊查询,如果用户想要对该字段对应的列进行多个关键字的查询将无法实现。
另外,随着计算机应用系统业务的变更、升级、扩容等,数据库表、查询规则也面临着增加、修改、删除的需求,需要对查询条件的开发做同步更新、导致进一步加大开发人员的开发工作量,这使得开发人员无法集中注意力在更为重要的业务需求上。
发明内容
数据查询的现有技术中,需要对应的SQL映射文件或SQL查询语句手动定义查询对象列对应的库表字段的查询条件,预设的查询条件致使用户无法灵活、友好、便捷的进行数据查询,开发工作量大,以及在对数据库表、查询规则进行变更、升级等操作时需要对查询条件的开发做同步更新,导致进一步加大开发人员的编码工作量。
本发明的技术任务是针对以上不足之处,提供一种面向用户的基于表达式的数据查询方法及查询系统。
为了达到本发明的目的,本发明采用以下技术方案实现:
一种基于表达式查询数据的方法,其特征在于,所述查询数据的方法包括以下步骤:
步骤1:设置需查询的列或字段信息;
步骤2:根据数据查询请求,用户按照约定的查询运算表达式设置查询条件;
步骤3:启动查询时,使用预设的解析规则处理所设置的查询条件,并进行查询;
步骤4:查询结束后,返回查询结果数据集。
本发明进一步包括以下优选方案:
在步骤1中,所述设置需查询的列或字段信息,是指用于预设查询对象对应的数据库表的字段名信息和列数据类型。
在步骤2中,所述约定的查询运算表达式,是指用于查询列或字段的查询条件,包括操作符+查询关键字,其中,操作符为英文半角字符。
所述约定的查询关键字数据类型需与列数据类型保持一致,包括且需要区分数字number、日期date、字符串string,其中除number和date外的其他数据类型均按字符串string处理。
所述约定的操作符,包括“>=”(大于等于)、“<=”(小于等于)、“<>”(不等于)、“<”(小于)、“>”(大于)、“=”(等于)、“!=”(不等于,同<>)、“;”(或,同OR)、“&”(和,同AND)、“..”(范围,同>=和<=且一端可以为空)、“!”(为空,同IS NULL)、“!=!”(不为空,同ISNOT NULL)、“*”(通配符,同%)、“,”(包含多值,同in())。本发明约定的操作符设计友好、简洁且全面,能够满足用户各种个性化的查询需求。
在步骤3中,所述使用预设的解析规则处理所设置的查询条件,是指用于通过封装定义好的处理函数,将所设置的查询条件转换为符合标准结构化查询语言SQL语法的查询条件。预设的解析规则通过封装定义好的处理函数实现,能够正确解析用户所有输入的查询运算表达式。
在步骤4中,返回查询结果数据集,是指经步骤3查询后获取到对应的数据集,根据用户的查询显示要求返回到前端显示。
本申请还公开了一种利用前述查询数据方法的基于表达式的数据查询系统,包括查询对象预设模块、查询表达式设置模块、查询执行模块和结果显示模块;其特征在于:
查询对象预设模块用于定义和显示查询对象列或字段信息、数据类型、以及与之对应的输入查询参数信息;预设好查询对象信息后,显示输入查询参数信息界面给用户。
查询表达式设置模块用于用户在输入查询参数信息界面,按照约定的查询运算表达式设置查询条件。用户根据数据查询请求,在输入查询参数信息中按照约定的查询运算规则自定义查询条件,用户触发查询操作,开始进入查询执行模块;
查询执行模块用于启动查询后,将查询表达式设置模块设置的查询条件使用预设的转换规则进行解析处理,并进行查询。预设的转换规则通过封装定义好的处理函数实现;
结果显示模块用于从查询执行模块获取所述查询结果,并根据用户的查询显示要求显示查询结果。
本发明的一种基于表达式的数据查询方法及查询系统和现有技术相比,具有以下有益效果:
本发明通过定义的一套操作符,可以直接在查询输入框内输入操作符+查询关键字,即可简洁、方便、友好的来查询该属性列。设计简单、功能强大、通用性强、用户友好是本方法和查询系统的最大特点,而且实现了强大的功能的同时也降低了开发的难度。
本发明提供通用的JavaScript的API函数用于基于表达式的查询条件的解析,是基于WEB进行复杂应用设计的有力工具。开发人员不需要关注后台的数据交互,只需要把精力放在关键的业务点即可,通用的操作由此查询系统自动完成。
附图说明
图1是本发明基于表达式查询数据的方法及查询系统一实施例中的步骤流程示意图;
图2是本发明基于表达式查询数据的方法及查询系统一实施例中的查询系统示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面结合附图和具体实施例对本发明所述技术方案作进一步的详细描述,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
应当理解,在本发明实施例的描述中,所述“第一”“第二”仅用于描述目的,而不用于指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
如图1所示,本发明实施例提供的一种基于表达式查询数据的方法,其实现步骤包括:
DataGrid控件是一种常见的WebUI表格控件,它以表格形式展示数据,并提供了丰富的选择、排序、分组和编辑数据的功能支持。DataGrid的设计用于缩短开发时间,并且使开发人员不需要具备特定的知识,使用该控件可以快速、便捷的完成一个表格的定义和显示。
本实施例基于DataGrid表格组件,开发人员定义DataGrid相关的控制脚本以及公共方法,包括请求后台的数据加载地址、需显示过滤行的属性设置、方法生成等信息,在每一个列中指定该列的绑定字段、显示名称、列数据属性等信息。
步骤101,设置需查询的列或字段信息。
SQL映射文件无需手动定义表格列对应字段的查询条件,查询条件信息来自前端表格模块。表格中的查询列需要设置属性匹配库表字段,同样的,表格中的查询列也需要设置属性用于区分数据类型,数据类型区分数字number、日期date、字符串string等类型。
其中,日期date支持格式为YY,YYYY,YYYYMM,YYYYMMDD,默认不分隔,支持-/.三种分隔符。
字符串string:除number和date外其它数据类型均按字符串处理。
步骤102,根据数据查询请求,用户按照约定的查询运算表达式设置查询条件。
表格的过滤行一般位于该表格的首行,根据表格数据查询请求,用户在过滤行的单元格内按照约定的查询运算表达式输入操作符+查询关键字,即可查询该属性列,需要注意的是操作符需为英文半角字符;如果不输入操作符,只录入查询关键字,则该属性列如果是字符串,按模糊查询匹配,like‘%查询关键字%’执行,如果该属性列是数字、日期类型,则按等于查询关键字匹配,即‘=查询关键字’执行。
预设的查询运算表达式和示例等信息参考表1。
表1
步骤103,启动查询时,使用预设的解析规则处理所设置的查询条件,并进行查询。
用户按照约定的查询运算表达式录入查询条件,使用预设的解析规则,通过JavaScript封装定义好的处理函数,将所查询的查询表达式信息转换成标准的结构化查询语言SQL这种语法的语句。
其中,预设的解析规则通过封装定义好的处理函数实现,处理函数采用JavaScript语言编码完成,可以将此函数绑定到查询条件输入框的值改变时发生的事件上。
步骤104,查询结束后,返回查询结果数据集,显示给用户。
将生成的SQL语句通过约定好的request请求参数发送到服务后端。
服务器端接收到生成的SQL语法的查询条件,通过后端程序和框架的处理,获取到对应的数据集,并返回到前端。
借助于DataGrid控件对数据集进行数据的绑定,将绑定生成的结果输出转化成HTML标记,最终将查询结果显示到页面。
结合图2并参考图1所示,本申请还公开了一种应用基于表达式查询数据的方法的基于表达式的数据查询系统,具体地,其包括:查询对象预设模块201、查询表达式设置模块202、查询执行模块203和结果显示模块204。
查询对象预设模块201,用于定义和显示查询对象列或字段信息、数据类型、以及与之对应的输入查询参数信息;预设好查询对象信息后,显示输入查询参数信息界面给用户。
基于常用的DataGrid表格组件,需定义相关的控制脚本以及公共方法,包括请求后台的数据加载地址、需显示过滤行的属性设置、方法生成等信息,在每一个列中指定该列的绑定字段、显示名称等信息。预先设置需查询的列或字段信息,需要设置属性用于区分列或字段的类型。不同的数据类型支持的字段格式不同,详见图1。
查询表达式设置模块202,用于用户按照约定的查询运算表达式设置查询条件。用户根据数据查询请求,在过滤行对应查询列的单元格内按照约定的查询运算规则自定义查询条件,用户在键盘上输入“回车(Enter)”键触发查询操作,开始进入查询执行模块203。
查询执行模块203,用于启动查询后,将查询表达式设置模块设置的查询条件使用预设的转换规则进行解析处理,并进行查询。预设的转换规则通过封装定义好的处理函数实现,处理函数采用JavaScript语言编码完成;
结果显示模块204,用于从查询执行模块获取所述查询结果,并显示查询结果。
具体地,其基于查询对象的查询输出描述和查询结果显示要求,以要求的方式显示查询结果。
在本实施例中,如图2所示,所述结果显示模块将所述查询结果予以显示时,最终还是通过所述表格具体呈现出来。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种基于表达式查询数据的方法,其特征在于,所述查询数据的方法包括以下步骤:
步骤1:设置需查询的列或字段信息;
步骤2:根据数据查询请求,用户按照约定的查询运算表达式设置查询条件;
步骤3:启动查询时,使用预设的解析规则处理所设置的查询条件,并进行查询;
步骤4:查询结束后,返回查询结果数据集。
2.根据权利要求1所述的基于表达式查询数据的方法,其特征在于:
在步骤1中,所述设置需查询的列或字段信息,是指用于预设查询对象对应的数据库表的字段名信息和列数据类型。
3.根据权利要求1所述的基于表达式查询数据的方法,其特征在于:
在步骤2中,所述约定的查询运算表达式,是指用于查询列或字段的查询条件,包括操作符+查询关键字,其中,操作符为英文半角字符。
4.根据权利要求3所述的基于表达式查询数据的方法,其特征在于:
所述约定的查询关键字数据类型需与预设列数据类型一致,包括且需要区分数字number、日期date、字符串string;其中除number和date外的其他数据类型均按字符串处理。
5.根据权利要求4所述的基于表达式查询数据的方法,其特征在于:
所述约定的操作符,包括“>=”(大于等于)、“<=”(小于等于)、“<>”(不等于)、“<”(小于)、“>”(大于)、“=”(等于)、“!=”(不等于,同<>)、“;”(或,同OR)、“&”(和,同AND)、“..”(范围,同>=和<=且一端可以为空)、“!”(为空,同IS NULL)、“!=!”(不为空,同IS NOTNULL)、“*”(通配符,同%)、“,”(包含多值,同in())。
6.根据权利要求1所述的基于表达式查询数据的方法,其特征在于:
在步骤3中,所述使用预设的解析规则处理所设置的查询条件,是指用于通过封装定义好的处理函数,将所设置的查询条件转换为符合标准结构化查询语言SQL语法的查询条件。预设的解析规则通过封装定义好的处理函数实现。
7.根据权利要求1所述的基于表达式查询数据的方法,其特征在于:
在步骤4中,返回查询结果数据集,是指经步骤3查询后获取到对应的数据集,根据用户的查询显示要求返回到前端显示。
8.一种基于表达式的数据查询系统,包括查询对象预设模块、查询表达式设置模块、查询执行模块和结果显示模块;其特征在于:
查询对象预设模块用于定义和显示查询对象列或字段信息、数据类型、以及与之对应的输入查询参数信息;预设好查询对象信息后,显示输入查询参数信息界面给用户。
查询表达式设置模块用于用户按照约定的查询运算表达式设置查询条件,用户根据数据查询请求,在输入查询参数信息中按照约定的查询运算规则自定义查询条件,用户触发查询操作,开始进入查询执行模块;
查询执行模块用于启动查询后,将查询表达式设置模块设置的查询条件使用预设的转换规则进行解析处理,并进行查询。预设的转换规则通过封装定义好的处理函数实现;
结果显示模块用于从查询执行模块获取所述查询结果,并根据用户的查询显示要求显示查询结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811547027.7A CN109656951A (zh) | 2018-12-18 | 2018-12-18 | 基于表达式查询数据的方法及查询系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811547027.7A CN109656951A (zh) | 2018-12-18 | 2018-12-18 | 基于表达式查询数据的方法及查询系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109656951A true CN109656951A (zh) | 2019-04-19 |
Family
ID=66114760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811547027.7A Pending CN109656951A (zh) | 2018-12-18 | 2018-12-18 | 基于表达式查询数据的方法及查询系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109656951A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321360A (zh) * | 2019-07-08 | 2019-10-11 | 深圳市智慧郎数码科技有限公司 | 表格数据的处理方法及相关设备 |
CN110362593A (zh) * | 2019-07-11 | 2019-10-22 | 上海达梦数据库有限公司 | 一种数据查询方法、装置、设备及存储介质 |
CN111125220A (zh) * | 2019-12-18 | 2020-05-08 | 任子行网络技术股份有限公司 | 信息自定义导出方法及装置 |
CN111259037A (zh) * | 2020-01-14 | 2020-06-09 | 重庆特斯联智慧科技股份有限公司 | 一种基于规则配置的数据查询方法、装置、存储介质及终端 |
CN112559603A (zh) * | 2021-02-23 | 2021-03-26 | 腾讯科技(深圳)有限公司 | 特征提取方法、装置、设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064982A (zh) * | 2013-01-22 | 2013-04-24 | 桂林电子科技大学 | 一种专利检索时智能推荐专利的方法 |
CN104090875A (zh) * | 2013-04-01 | 2014-10-08 | 鸿富锦精密工业(深圳)有限公司 | 信息检索系统及方法 |
CN105279270A (zh) * | 2015-10-28 | 2016-01-27 | 丽水市睿鼎知识产权咨询有限公司 | 一种专利检索装置及其检索方法 |
CN108446289A (zh) * | 2017-09-26 | 2018-08-24 | 北京中安智达科技有限公司 | 一种支持异构数据库的数据检索方法 |
-
2018
- 2018-12-18 CN CN201811547027.7A patent/CN109656951A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064982A (zh) * | 2013-01-22 | 2013-04-24 | 桂林电子科技大学 | 一种专利检索时智能推荐专利的方法 |
CN104090875A (zh) * | 2013-04-01 | 2014-10-08 | 鸿富锦精密工业(深圳)有限公司 | 信息检索系统及方法 |
CN105279270A (zh) * | 2015-10-28 | 2016-01-27 | 丽水市睿鼎知识产权咨询有限公司 | 一种专利检索装置及其检索方法 |
CN108446289A (zh) * | 2017-09-26 | 2018-08-24 | 北京中安智达科技有限公司 | 一种支持异构数据库的数据检索方法 |
Non-Patent Citations (1)
Title |
---|
NR564766: "《S系统实用手册》", 《 HTTP://WWW.DOCIN.COM/P-1485054913.HTML》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321360A (zh) * | 2019-07-08 | 2019-10-11 | 深圳市智慧郎数码科技有限公司 | 表格数据的处理方法及相关设备 |
CN110362593A (zh) * | 2019-07-11 | 2019-10-22 | 上海达梦数据库有限公司 | 一种数据查询方法、装置、设备及存储介质 |
CN110362593B (zh) * | 2019-07-11 | 2021-12-31 | 上海达梦数据库有限公司 | 一种数据查询方法、装置、设备及存储介质 |
CN111125220A (zh) * | 2019-12-18 | 2020-05-08 | 任子行网络技术股份有限公司 | 信息自定义导出方法及装置 |
CN111125220B (zh) * | 2019-12-18 | 2023-04-11 | 任子行网络技术股份有限公司 | 信息自定义导出方法及装置 |
CN111259037A (zh) * | 2020-01-14 | 2020-06-09 | 重庆特斯联智慧科技股份有限公司 | 一种基于规则配置的数据查询方法、装置、存储介质及终端 |
CN111259037B (zh) * | 2020-01-14 | 2023-09-19 | 重庆特斯联智慧科技股份有限公司 | 一种基于规则配置的数据查询方法、装置、存储介质及终端 |
CN112559603A (zh) * | 2021-02-23 | 2021-03-26 | 腾讯科技(深圳)有限公司 | 特征提取方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109656951A (zh) | 基于表达式查询数据的方法及查询系统 | |
US10067931B2 (en) | Analysis of documents using rules | |
CN102103605B (zh) | 一种智能提取文档结构的方法及系统 | |
US20040221233A1 (en) | Systems and methods for report design and generation | |
CN103744891B (zh) | 一种数据查询方法和系统 | |
US7325188B1 (en) | Method and system for dynamically capturing HTML elements | |
US8601438B2 (en) | Data transformation based on a technical design document | |
US8438190B2 (en) | Generating web services from business intelligence queries | |
JP5320438B2 (ja) | Xmlデータ記憶、クエリー再書込、ビジュアライゼーション、マッピング、および参照のための方法および装置 | |
US20060048096A1 (en) | RTF template and XSL/FO conversion: a new way to create computer reports | |
US20020078094A1 (en) | Method and apparatus for XML visualization of a relational database and universal resource identifiers to database data and metadata | |
US20090089696A1 (en) | Graphical creation of a document conversion template | |
JP2006525608A (ja) | ダイナミックコンテンツアセンブリを管理するためのシステムおよび方法 | |
US20060004854A1 (en) | Bi-directional data mapping tool | |
US20140013211A1 (en) | Content providing apparatus compatible with various terminal devices | |
US20150278190A1 (en) | Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method | |
CN109344306B (zh) | 一种领域多标准元数据定制化在线汇交与服务方法及系统 | |
US7933892B2 (en) | Computer-readable medium storing program for automatically generating query window, apparatus for automatically generating query window, and method for automatically generating query window | |
CN114996268A (zh) | 自定义报表生成方法和自定义报表生成装置 | |
JP3843810B2 (ja) | マルチテンプレート管理システムおよびマルチテンプレート管理プログラム | |
Bennett et al. | assignFAST: An autosuggest based tool for FAST subject assignment | |
CN114281797A (zh) | 基于敏捷低代码平台快速创建基层数据汇聚仓库的方法 | |
CN112287266A (zh) | 一种网页配置的处理方法及其装置、设备及存储介质 | |
CN109508183B (zh) | 一种存储集群中rest代码生成方法及装置 | |
Mironov et al. | Validation of the XML documents in Web-applications based on situation-oriented databases (DTD, XML SCHEMA, RELAX NG) |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190419 |
|
WD01 | Invention patent application deemed withdrawn after publication |