CN105824637B - 定制查询方法及*** - Google Patents

定制查询方法及*** Download PDF

Info

Publication number
CN105824637B
CN105824637B CN201610153365.7A CN201610153365A CN105824637B CN 105824637 B CN105824637 B CN 105824637B CN 201610153365 A CN201610153365 A CN 201610153365A CN 105824637 B CN105824637 B CN 105824637B
Authority
CN
China
Prior art keywords
module
custom
query
built
inquiry
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.)
Active
Application number
CN201610153365.7A
Other languages
English (en)
Other versions
CN105824637A (zh
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.)
Bank of China Ltd
Original Assignee
Bank of China 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 Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN201610153365.7A priority Critical patent/CN105824637B/zh
Publication of CN105824637A publication Critical patent/CN105824637A/zh
Application granted granted Critical
Publication of CN105824637B publication Critical patent/CN105824637B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/37Compiler construction; Parser generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying

Landscapes

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

Abstract

本发明提供了一种定制查询方法及***,所述定值查询方法包含:解析预置查询模块,获得解析结果;根据查询目的与所述解析结果配置所述查询模块,生成查询序列号并存储;通过所述查询序列号获得配置后的所述查询模块,并将查询条件补入配置后的所述查询模块中,生成定制查询模块;通过所述定制查询模块与查询条件获得查询结果。通过本发明所提供的定制查询方法及***,使得开发人员仅仅定义查询引擎即可,减少了重复性工作,更助于开发人员将注意力集中在查询引擎的核心功能上。

Description

定制查询方法及***
技术领域
本发明涉及编程开发领域,尤指一种定制查询方法及***。
背景技术
当今数据***开发领域中,各业务***日常开发过程中,无法避免的会碰到各类查询需求。面对这些查询需求时,开发人员需要根据特定的需求去开发一个新的功能,对开发者而言,编程的工作量是很大的,具体需要依次完成配置文件、DAO文件、Service文件、Action文件以及JSP文件的开发。现有的查询定值的编程方法主要有根据预设的查询条件、查询结果来组装SQL,实现查询的定制,该方式不具有通用性(有一定应用场景,相对局限)需要大量的预设,该方案主要面向业务使用人员,不支持钻取、切片;另一方式则是以SQL为核心的半自动化的ORM实现方案,实现了持久层的解决方案,该方式实现了数据库与对象的映射,属于后台的DAO解决方案,但由于是面向开发人员进行开发使用,结构较为复杂;最后一种就是代码自动生成工具:根据代码模板,生成一套包括:DAO,Service,JSP以及各类的配置文件,但该代码生成器并不能提供查询引擎,需要重新部署应用,不能立即生效,不所见所得,不适合迭代类的开发方式,定制查询引擎的效率较低。
由此,导致上述开发流程存在一定的不足,其中包含大量重复性的劳动大大降低了开发人员开发效率,在快速开发环境不够敏捷、页面风格难以得到保证、需求变更时的维护成本也较高。
有鉴于此,根据实际需求如何有效的提高开放人员的开发效率成为业内亟需解决的问题。
发明内容
本发明目的在于提供一种定制查询方法及***,便于开发人员短时间内完成开发任务,提供符合目标需求的查询引擎,进一步也优化该查询引擎以方便的移植到其他***中去,同时也可以作为一个单独的第三方应用。
为达上述目的,本发明具体提供一种定制查询方法,所述定值查询方法包含:解析预置查询模块,获得解析结果;根据查询目的与所述解析结果配置所述查询模块,生成查询序列号并存储;通过所述查询序列号获得配置后的所述查询模块,并将查询条件补入配置后的所述查询模块中,生成定制查询模块;通过所述定制查询模块与查询条件获得查询结果。
在上述定制查询方法中,优选的,所述查询模块为通过特定标识定位条件变量和结果变量的标准SQL语句。
在上述定制查询方法中,优选的,所述获得解析结果包含:解析所述查询模块,获得所述查询模块中条件变量信息和结果变量信息。
在上述定制查询方法中,优选的,所述根据查询目的与所述解析结果配置所述查询模块包含:当包含复数个不同查询目的时,则将所述复数个不同查询目的分别与所述解析结果配置,获得复数个所述查询模块,根据所述查询模块生成复数个查询序列号。
在上述定制查询方法中,优选的,所述生成查询序列号并存储还包含:将所述复数个查询序列号存储至集中模块中供查询或将所述复数个查询序列号分别嵌入对应查询目的的业务模块中。
在上述定制查询方法中,优选的,所述查询模块还包含权限模块,所述定制查询模块根据所述权限模块与查询条件显示查询结果。
在上述定制查询方法中,优选的,所述根据查询目的与所述解析结果配置所述查询模块还包含:将一个或多个已有的定制查询模块加入所述查询模块中,生成查询序列号并存储。
在上述定制查询方法中,优选的,根据查询需求获得所述已有的定制查询模块的数量;当加入的所述已有的定制查询模块为一个时,所述已有的定制查询模块为以所述查询结果为第一查询条件和所述查询目的为第一查询结果的定制查询模块;以及,当加入的所述已有的定制查询模块为多个时,则第一个已有的定制查询模块为以所述查询结果为查询条件的定制查询模块,第二个已有的定制查询模块为第一个已有的定制查询模块的查询结果为查询条件的定制查询模块,直到最后一个已有的定制查询模块为其前一个已有的定制查询模块的查询结果为查询条件和所述查询目的为查询结果的定制查询模块。
本发明还提供一种定制查询***,所述定值查询***包含:解析单元,用于解析预置查询模块,获得解析结果;自定义单元,用于根据查询目的与所述解析结果配置所述查询模块;序列号生成单元,用于根据配置后的所述查询模块生成查询序列号并存储;定制查询生成单元,用于通过所述查询序列号获得配置后的所述查询模块,并将查询条件补入配置后的所述查询模块中,生成定制查询模块;定制查询模块,用于根据查询条件获得查询结果。
在上述定制查询***中,优选的,所述定制查询模块还包含权限单元,所述权限模块用以识别查询条件内的权限标识并将所述权限标识与所述定制查询模块内权限标识匹配后输出查询结果。
在上述定制查询***中,优选的,所述序列号生成单元包含:当包含复数个不同查询目的时,则将所述复数个不同查询目的分别与所述解析结果配置,获得复数个所述查询模块,根据所述查询模块生成复数个查询序列号。
在上述定制查询***中,优选的,所述序列号生成单元还包含发布单元,所述发布单元用于将复数个查询序列号存储至集中模块中供查询或将所述复数个查询序列号分别嵌入对应查询目的的业务模块中。
本发明的有益技术效果在于:通过本发明所提供的定制查询方法及***,使得开发人员仅仅定义查询引擎即可,减少了重复性工作,更助于开发人员将注意力集中在查询引擎的核心功能上。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明所提供的定制查询方法的流程示意图;
图2为本发明所提供的定制查询***的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
请参考图1所示,本发明具体提供一种定制查询方法,所述定值查询方法包含:S101解析预置查询模块,获得解析结果;S102根据查询目的与所述解析结果配置所述查询模块,生成查询序列号并存储;S103通过所述查询序列号获得配置后的所述查询模块,并将查询条件补入配置后的所述查询模块中,生成定制查询模块;S104通过所述定制查询模块与查询条件获得查询结果。
在上述实施例中,所述查询模块为通过特定标识定位条件变量和结果变量的标准SQL语句。其中所述获得解析结果,具体包含解析所述查询模块,获得所述查询模块中条件变量信息和结果变量信息。值得说明是,在实际工作中,因为需求不同,在上述过程时配置的所述查询模块也不同,当查询引擎需要多个不同的查询模块时,则将所述复数个不同查询目的分别与所述解析结果配置,获得复数个所述查询模块,根据所述查询模块生成复数个查询序列号。其后,则进入发布阶段,工作人员可根据实际需求将所述复数个查询序列号存储至集中模块中供查询或将所述复数个查询序列号分别嵌入对应查询目的的业务模块中。鉴于业务需要,实际工作中,不同账户使用查询时,需要显示的内容也不同,为此,本发明所提供的定制查询方法的一优选实施例还包含,在所述查询模块中还包含有权限模块,所述定制查询模块根据所述权限模块与查询条件显示查询结果。
在上述实施例中,在对所述查询模块配置过程中还可加入钻取功能,具体的,将一个或多个已有的定制查询模块加入所述查询模块中,生成查询序列号并存储,以此可对目标查询结果做进一步查询了解;例如,在S102配置所述查询模块时,对需要钻取的字段后配置上已有的定制查询模块(该定制查询模块的功能实现将这个字段上的值,也就是查询结果作为条件,查询目的作为该定制查询模块的查询结果),当然,为实施时更为简便,也可直接将所述已知的定制查询模块的查询序列号加入所述查询模块中,以此,在其后配置需求较多的查询模块时,可将对应不同需求的查询序列号加入到该查询模块中,无需重新定义已有的定制查询模块即可随意更换使用,大大节约了工作人员的编程时间,提高了查询模板的使用效率。
具体的,可根据查询需求获得所述已有的定制查询模块的数量;例如,现需要获得个人年总工资、以及该人的每月工资和每月工资中各工资的详细类别,此时需加入的定制查询模块数量就应为三个。
当加入的所述已有的定制查询模块为一个时,所述已有的定制查询模块为以所述查询结果为第一查询条件和所述查询目的为第一查询结果的定制查询模块;例如当前仅需要了解个人年总工资中每月工资,则以步骤104获得查询结果个人总工资为查询条件,每月工资为查询目的获得匹配的已有的定制查询模块;
当加入的所述已有的定制查询模块为多个时,则第一个已有的定制查询模块为以所述查询结果为查询条件的定制查询模块,第二个已有的定制查询模块为第一个已有的定制查询模块的查询结果为查询条件的定制查询模块,直到最后一个已有的定制查询模块为其前一个已有的定制查询模块的查询结果为查询条件和所述查询目的为查询结果的定制查询模块;例如:以步骤104获得查询结果个人总工资为查询条件,每月工资为查询目的获得匹配的已有的定制查询模块,在搜索以每月工资为查询条件,每月工资中各工资的详细类别为查询目的的已有的定制查询模块;本发明在此仅以三个已有的定制查询模块为例,并不对其数量做限制。
为更清楚说明本发明所提供的定值查询方法,以下以具体实例做进一步说明,在实际工作中,本发明所提供的定值查询方法具体可如下操作:
以查询目的是通过输入学生编号或学生姓名查询该学生的所有信息。则首先获得预制该功能的SQL模板,如:
select sno,sname,ssex,saddress,sscore from student where[sno=$sno$]and[sanme=$sname$];
S101解析SQL模板,获得出解析结果,如:查询的条件变量为sno,sname,结果变量为sno,sname,ssex,saddress,sscore;
S102根据查询目的(如:通过输入学生编号或学生姓名查询该学生的所有信息)与所述解析结果配置所述查询模块;其中所述配置所述查询模块包含:补充信息上述变量说明,例如条件变量的说明,默认值,展示类型,是否非空,排序号等;结果变量的说明,列宽度,是否显示,是否钻取等信息;该步骤中也可结合查询目的,完善其他需要补充的补充信息,其后,生成查询序列号并存储。举例来说,对于结果变量sscore,可以配置为其提供钻取,即再次关联上已有的从总分到每科成绩的定制查询模块,此时编程人员即可选择需要的查询序列号并将其配置到所述查询模块中,以使的该查询模块功能更加多元化。
在发布查询序列号后,S103通过所述查询序列号获得配置后的所述查询模块,并将查询条件补入配置后的所述查询模块中(例如将学生编号和/或学生姓名定义为查询条件),生成定制查询模块。
最后,输入某个特定的姓名和/或编号(例如:张三),S104通过所述定制查询模块与该查询条件(张三)获得查询结果(张三的编号,姓名,性别,地址,成绩总分),点击成绩总分,可以继续查询出每科成绩的分数。
请参考图2所示,在本发明已优选的实施例中还提供一种定制查询***,所述定值查询***包含:解析单元101,用于解析预置查询模块,获得解析结果;自定义单元102,用于根据查询目的与所述解析结果配置所述查询模块;序列号生成单元103,用于根据配置后的所述查询模块生成查询序列号并存储;定制查询生成单元201,用于通过所述查询序列号获得配置后的所述查询模块,并将查询条件补入配置后的所述查询模块中,生成定制查询模块;定制查询模块202,用于根据查询条件获得查询结果。
在上述实施例中,所述解析单元101、所述自定义单元102和所述序列号生成单元103共同构成配置模组10,所述定制查询生成单元201以及生成的定制查询模块202共同构成应用模组20;实际工作中,工作人员可通过配置模组10配置大量不同功能的查询模块,并通过序列号的方式发布至网上或其他分享区域;后期当工作人员需要使用某一功能的查询引擎时,可在上述区域根据所述序列号获得查询模块,已极高效率的方式配置完成所需查询引擎,以此,大大方便的工作人员的开发工作以及有效降低了开发过程中不必要的重复工作。
在上述实施例中,所述定制查询模块202还包含权限单元,所述权限模块用以识别查询条件内的权限标识并将所述权限标识与所述定制查询模块202内权限标识匹配后输出查询结果,所述序列号生成单元103包含:当包含复数个不同查询目的时,则将所述复数个不同查询目的分别与所述解析结果配置,获得复数个所述查询模块,根据所述查询模块生成复数个查询序列号。所述序列号生成单元103还包含发布单元,所述发布单元用于将复数个查询序列号存储至集中模块中供查询或将所述复数个查询序列号分别嵌入对应查询目的的业务模块中。
本发明的有益技术效果在于:通过本发明所提供的定制查询方法及***,使得开发人员仅仅定义查询引擎即可,减少了重复性工作,更助于开发人员将注意力集中在查询引擎的核心功能上。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种定制查询方法,其特征在于,所述定制 查询方法包含:
解析预置查询模块,获得解析结果;
根据查询目的与所述解析结果配置所述查询模块,生成查询序列号并存储;
通过所述查询序列号获得配置后的所述查询模块,并将查询条件补入配置后的所述查询模块中,生成定制查询模块;
通过所述定制查询模块与查询条件获得查询结果;
所述根据查询目的与所述解析结果配置所述查询模块包含:当包含复数个不同查询目的时,则将所述复数个不同查询目的分别与所述解析结果配置,获得复数个所述查询模块,根据所述查询模块生成复数个查询序列号;
所述生成查询序列号并存储还包含:将所述复数个查询序列号存储至集中模块中供查询或将所述复数个查询序列号分别嵌入对应查询目的的业务模块中。
2.根据权利要求1所述的定制查询方法,其特征在于,所述查询模块为通过特定标识定位条件变量和结果变量的标准SQL语句。
3.根据权利要求2所述的定制查询方法,其特征在于,所述获得解析结果包含:解析所述查询模块,获得所述查询模块中条件变量信息和结果变量信息。
4.根据权利要求1所述的定制查询方法,其特征在于,所述根据查询目的与所述解析结果配置所述查询模块还包含:将一个或多个已有的定制查询模块加入所述查询模块中,生成查询序列号并存储。
5.根据权利要求4所述的定制查询方法,其特征在于,根据查询需求获得所述已有的定制查询模块的数量;
当加入的所述已有的定制查询模块为一个时,所述已有的定制查询模块为以所述查询结果为第一查询条件和所述查询目的为第一查询结果的定制查询模块;
以及,当加入的所述已有的定制查询模块为多个时,则第一个已有的定制查询模块为以所述查询结果为查询条件的定制查询模块,第二个已有的定制查询模块为第一个已有的定制查询模块的查询结果为查询条件的定制查询模块,直到最后一个已有的定制查询模块为其前一个已有的定制查询模块的查询结果为查询条件和所述查询目的为查询结果的定制查询模块。
6.一种定制查询***,其特征在于,所述定制 查询***包含:
解析单元,用于解析预置查询模块,获得解析结果;
自定义单元,用于根据查询目的与所述解析结果配置所述查询模块;
序列号生成单元,用于根据配置后的所述查询模块生成查询序列号并存储;
定制查询生成单元,用于通过所述查询序列号获得配置后的所述查询模块,并将查询条件补入配置后的所述查询模块中,生成定制查询模块;
定制查询模块,用于根据查询条件获得查询结果;
所述序列号生成单元包含:当包含复数个不同查询目的时,则将所述复数个不同查询目的分别与所述解析结果配置,获得复数个所述查询模块,根据所述查询模块生成复数个查询序列号;
所述序列号生成单元还包含发布单元,所述发布单元用于将复数个查询序列号存储至集中模块中供查询或将所述复数个查询序列号分别嵌入对应查询目的的业务模块中。
CN201610153365.7A 2016-03-17 2016-03-17 定制查询方法及*** Active CN105824637B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610153365.7A CN105824637B (zh) 2016-03-17 2016-03-17 定制查询方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610153365.7A CN105824637B (zh) 2016-03-17 2016-03-17 定制查询方法及***

Publications (2)

Publication Number Publication Date
CN105824637A CN105824637A (zh) 2016-08-03
CN105824637B true CN105824637B (zh) 2019-03-12

Family

ID=56524608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610153365.7A Active CN105824637B (zh) 2016-03-17 2016-03-17 定制查询方法及***

Country Status (1)

Country Link
CN (1) CN105824637B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073685A (zh) * 2017-11-17 2018-05-25 中国人民银行清算总中心 数据采集方法及***
CN108255478A (zh) * 2018-01-19 2018-07-06 上海锐垚科技有限公司 一种标签式模板开发方法
CN109376177B (zh) * 2018-09-30 2021-11-02 国网宁夏电力有限公司中卫供电公司 一种数据钻取分析方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350023A (zh) * 2008-08-29 2009-01-21 北京航空航天大学 一种基于服务组合的可定制查询方法与平台
CN103577420A (zh) * 2012-07-23 2014-02-12 ***通信集团上海有限公司 一种用户信息动态查询方法及装置
CN103744891A (zh) * 2013-12-23 2014-04-23 大唐软件技术股份有限公司 一种数据查询方法和***
CN104361040A (zh) * 2014-10-29 2015-02-18 中国建设银行股份有限公司 一种定制查询的方法及装置
CN104615602A (zh) * 2013-11-05 2015-05-13 深圳中兴力维技术有限公司 查询界面自动生成实现装置及其方法
CN104731804A (zh) * 2013-12-20 2015-06-24 远光软件股份有限公司 一种建立通用查询框架的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050050033A1 (en) * 2003-08-29 2005-03-03 Shiby Thomas System and method for sequence matching and alignment in a relational database management system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101350023A (zh) * 2008-08-29 2009-01-21 北京航空航天大学 一种基于服务组合的可定制查询方法与平台
CN103577420A (zh) * 2012-07-23 2014-02-12 ***通信集团上海有限公司 一种用户信息动态查询方法及装置
CN104615602A (zh) * 2013-11-05 2015-05-13 深圳中兴力维技术有限公司 查询界面自动生成实现装置及其方法
CN104731804A (zh) * 2013-12-20 2015-06-24 远光软件股份有限公司 一种建立通用查询框架的方法及装置
CN103744891A (zh) * 2013-12-23 2014-04-23 大唐软件技术股份有限公司 一种数据查询方法和***
CN104361040A (zh) * 2014-10-29 2015-02-18 中国建设银行股份有限公司 一种定制查询的方法及装置

Also Published As

Publication number Publication date
CN105824637A (zh) 2016-08-03

Similar Documents

Publication Publication Date Title
US20180218053A1 (en) Big Data Analytical Platform Tools And Methods Of Use
EP2924588A1 (en) Report creation method, device and system
CN105824637B (zh) 定制查询方法及***
CN105915438A (zh) 消息推送方法、装置及***
US20020022987A1 (en) Common database system for sales and marketing process
CN109299129A (zh) 自然语言的数据查询方法、装置、计算机设备及存储介质
CN108197091B (zh) 一种创建数据表的方法、***及相关设备
CN107526806A (zh) 数据的转换方法及装置
CN103905482B (zh) 推送信息的方法、推送服务器和***
CN106096904A (zh) 一种日程安排添加方法及移动终端
CN107463710A (zh) 基于微信扫码和公众号应用的订单生产工序录入查询***
CN103810094B (zh) 一种测试案例的执行方法、装置和测试工具
CN102509156A (zh) 数据校验核心控制引擎技术
CN115509942A (zh) 测试数据生成方法、装置、设备和存储介质
US11475064B2 (en) System and method in a database system for creating a field service work order
US10332046B2 (en) Social workflow engine
CN106406835A (zh) 一种报表生成方法和报表生成装置
CN108304591A (zh) 一种标签的定制方法、***及终端设备
CN106779582B (zh) 一种tws流程配置方法及装置
CN104834730A (zh) 数据分析***和方法
EP3043295A2 (en) Intelligent business support system
CN107103059A (zh) 基于财务业务流程的流程图生成方法及装置
US11755631B2 (en) Workflow-based dynamic data model and application generation
CN103473306A (zh) 一种采用sql标记替换法实现数据自取的方法及***
CN115048396A (zh) 账单处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant