CN115544061A - 一种数据查询方法、系统、终端及计算机可读存储介质 - Google Patents
一种数据查询方法、系统、终端及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115544061A CN115544061A CN202211377853.8A CN202211377853A CN115544061A CN 115544061 A CN115544061 A CN 115544061A CN 202211377853 A CN202211377853 A CN 202211377853A CN 115544061 A CN115544061 A CN 115544061A
- Authority
- CN
- China
- Prior art keywords
- query
- condition
- result
- client
- name
- 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
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
-
- 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/25—Integrating or interfacing systems involving database management systems
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据查询方法,包括:为查询功能设置唯一的查询标识名称,查询功能包括查询条件和查询结果展示信息;将查询条件和查询结果展示信息配置在数据库或文件中;设定查询功能的SQL语句编写方式和查询条件的解析方式;获取客户端发送的获取配置信息请求,向客户端发送查询条件和查询结果展示信息配置信息;获取客户端发送的查询请求,根据查询标识名称搜索需要执行已配置的SQL语句,根据查询条件配置格式解析查询条件的内容;根据查询条件的内容执行SQL查询语句,查询匹配得到查询结果;将查询结果发送给客户端按照查询结果展示信息进行展示。该方法既降低后期代码开发和维护的工作量,减少开发维护成本,又提升了用户体验。
Description
技术领域
本发明涉及数据处理方法技术领域,具体涉及一种数据查询方法、系统、终端及计算机可读存储介质。
背景技术
在软件系统中,数据查询功能有着相当重要的地位,功能数量也是比较庞大的,对于基于关系型数据库的系统,在交易系统中除了交易类、管理类、行情类等功能外,查询类功能几乎占据了50%以上的功能点。因为数量庞大的查询类会耗费大量的人力进行开发,开发的成品也因人而异,这就增加了后期的代码维护工作。对于使用者来说,更希望同一类功能具有一样的操作习惯,减少学习成本。
发明内容
针对现有技术中的不足,本发明提供的一种数据查询方法、系统、终端及计算机可读存储介质,提升用户体验,降低后期代码维护的工作量,减少开发成本。
第一方面,本发明提供的一种数据查询方法,包括以下步骤:
预先为查询功能设置一个唯一的查询标识名称,所述查询标识名称用于标识不同的查询功能,所述查询功能包括查询条件和查询结果展示信息;
将查询条件和查询结果展示信息配置在数据库或文件中;
预先设定查询功能的SQL语句编写方式和查询条件的解析方式;
获取客户端发送的获取查询条件和查询结果展示信息配置信息请求,向客户端发送查询条件和查询结果展示信息配置信息,获取客户端发送的查询请求,根据查询标识名称获取查询条件的值和查询结果展示信息;
根据查询标识名称搜索需要执行已配置的SQL语句,根据查询条件配置格式解析查询条件的内容;
根据查询条件的内容执行SQL查询语句,查询匹配得到查询结果;
将所述查询结果发送给客户端按照查询结果展示信息进行展示。
可选地,查询条件包括条件序号、条件标识、默认值、控件类名和占比,所述将查询条件配置在数据库或文件中的具体方法包括:
将用于表示查询条件控件在客户端的显示界面的显示顺序的条件序号配置在数据库或文件中;
将用于表示查询条件的英文标识的条件标识配置在数据库或文件中;
将用于表示查询条件的默认值配置在数据库或文件中;
将用于表示查询条件对应的客户端的类名的控件类名配置在数据库或文件中;
将用于表示单个查询条件控件在客户端显示界面上的宽度占用比率的占比配置在数据库或文件中。
可选地,查询结果展示信息包括结果序号、英文字段名称、中文字段名称、列宽度、结果对齐方式和结果格式化处理;
所述将查询结果展示信息配置在数据库或文件中的具体方法包括:
将用于表示查询结果字段的结果序号配置在数据库或文件中;
将用于表示查询结果字段的英文名称的英文字段名称配置在数据库或文件中;
将用于表示查询结果字段的中文名称配置在数据库或文件中;
将用于表示查询结果字段在客户端表格上显示的列宽度配置在数据库或文件中;
将用于表示查询结果字段在客户端表格上的对齐方式配置在数据库或文件中;
将用于表示查询结果字段进行格式化处理配置在数据库或文件中。
可选地,查询结果字段包括各种类型的数据,包括但不限于金额、数字、枚举、日期和时间。
第二方面,本发明提供的一种数据查询系统,包括:信息配置模块、请求获取模块、解析模块、匹配模块和结果发送模块;
信息配置模块用于预先为查询功能设置一个唯一的查询标识名称,所述查询标识名称用于标识不同的查询功能,所述查询功能包括查询条件和查询结果展示信息;
预先设定查询功能的SQL语句编写方式和查询条件的解析方式;
所述请求获取模块用于获取客户端发送的获取查询条件和查询结果展示信息配置信息请求,向客户端发送查询条件和查询结果展示信息配置信息,获取客户端发送的查询请求,根据查询标识名称获取查询条件的值和查询结果展示信息;
所述解析模块用于根据查询标识名称搜索需要执行已配置的SQL语句,根据查询条件配置格式解析查询条件的内容;
所述匹配模块用于根据查询条件的内容执行SQL查询语句,查询匹配得到查询结果;
所述结果发送模块用于将所述查询结果发送给客户端按照查询结果展示信息进行展示。
可选地,查询条件包括条件序号、条件标识、默认值、控件类名和占比;
所述条件序号用于表示查询条件控件在客户端的显示界面的显示顺序;
所述条件标识用于表示查询条件的英文标识;
所述默认值用于表示查询条件的默认值;
所述控件类名用于表示查询条件对应的客户端的类名;
所述占比用于表示单个查询条件控件在客户端显示界面上的宽度占用比率。
可选地,查询结果展示信息包括结果序号、英文字段名称、中文字段名称、列宽度、结果对齐方式和结果格式化处理;
所述结果序号用于表示查询结果字段;
所述英文字段名称用于表示查询结果字段的英文名称;
所述中文字段名称用于表示查询结果字段的中文名称;
所述列宽度用于表示查询结果字段在客户端表格上显示的列宽度;
所述结果对齐方式用于表示查询结果字段在客户端表格上的对齐方式;
所述结果格式化处理用于表示查询结果字段进行格式化处理。
可选地,查询结果字段包括各种类型的数据,包括但不限于金额、数字、枚举、日期和时间。
第三方面,本发明提供了一种智能终端,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述实施例描述的方法。
第四方面,本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述实施例描述的方法。
本发明的有益效果:
本发明实施例提供的一种数据查询方法,通过制定通用的开发模板,用户按照设定格式完成SQL的编写、查询条件和查询结果展示项在数据库中的初始化配置即可完成查询功能的开发。既降低后期代码开发和维护的工作量,从而减少开发维护成本,又提升了用户体验。
本发明实施例提供的一种数据查询系统、智能终端和计算机可读存储介质,与上述一种数据查询方法出于相同的发明构思,具有相同的有益效果。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1示出了本发明第一实施例所提供的一种数据查询方法的流程图;
图2示出了本发明第二实施例所提供的一种数据查询系统的结构示意图;
图3示出了本发明第三实施例所提供的一种智能终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。
并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。
此外,术语“安装”、“设置”、“设有”、“连接”、“相连”、“套接”应做广义理解。例如,可以是固定连接,可拆卸连接,或整体式构造;可以是机械连接,或电连接;可以是直接相连,或者是通过中间媒介间接相连,又或者是两个装置、元件或组成部分之间内部的连通。对于本领域普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
如图1所示,示出了本发明第一实施例所提供的一种数据查询方法的流程图,该方法包括以下步骤:
预先为查询功能设置一个唯一的查询标识名称,查询标识名称用于标识不同的查询功能,所述查询功能包括查询条件和查询结果展示信息;将查询条件和查询结果展示信息配置在查询数据库或文件中,并与设置的标识名称强关联;
预先规定具体查询功能的SQL语句编写方式、查询条件的解析方式;
查询开始前,客户端发起获取查询条件和查询结果展示信息配置信息请求,服务器端向客户端发送预先配置的查询条件和查询结果展示信息;
客户端获取到配置信息之后,动态生成特定的查询界面,界面包含配置的查询条件和查询结果展示信息;
用户在查询界面的查询条件中输入相应的内容后,通过客户端发起请求到服务器端;服务器端获取客户端发送的查询请求,根据所述查询请求获取查询条件的值和查询结果展示信息;
根据查询标识名称搜索需要执行已配置的SQL语句,根据查询条件配置格式解析查询条件的内容;
根据查询条件的内容执行SQL查询,查询匹配得到查询结果;
将查询结果发送给客户端按照查询结果展示信息进行展示。
本实施例将数据查询的查询条件及查询结果展示信息配置在数据库里进行动态加载,将有区别的内容进行区别处理,有共性的内容采用共性处理。将查询SQL语句、查询条件及查询结果展示信息等进行预先配置,将功能展示、结果存储和传输等所有一致的功能采用共性处理,这样极大地减少了开发人员的工作量,也能让所有的查询功能到统一界面的展示,后期改造维护更方便。
具体地,在进行查询开发时,需要先定义一个query_id用于标识该查询的唯一性,将查询条件及查询结果展示信息配置在关系型数据中的数据表中,如查询结果展示信息配置在数据表query_config,查询条件配置在数据表query_term_info。其中,query_id是表query_config、query_term_info的主键的一个元素,将SQL语句配置在代码中。以下是详细实现:
(一)查询条件配置
查询条件需要配置在表query_term_info中,有多少个界面控件条件,就依次填写多少条记录,一个条件包含显示的名称和用于用户输入查询条件内容的控件组成,名称和内容分两条记录存储。
其中,查询条件包括条件序号、条件标识、默认值、控件类名和占比,将查询条件配置在查询条件数据库中的具体方法包括:
将用于表示查询条件控件在客户端的显示界面的显示顺序的条件序号配置在查询条件数据库中,条件序号为数据型,表示查询条件控件的显示顺序;在客户端的界面上按照此顺序从左往右,从上往下的依次摆放。
将用于表示查询条件的英文标识的条件标识配置在查询数据库中,条件标识用英文小写字母和下划线等特殊符号组合表示,是在查询请求报文中的查询条件名称,用于后端解析查询条件内容使用,如:acct_no代表客户号,s_exch_date代表起始交易日期等,可以定义规则,如不区分大小写,在发起查询请求时一律转为小写形式发送,配置在数据库中时同样一律以小写的方式存储;
将用于表示查询条件的默认值配置在数据库中,默认值一般只有标签填写此值,设置时区分大小写;
将用于表示查询条件对应的客户端的类名的控件类名配置在数据库中,查询条件对应的客户端控件类名,设置时区分大小写;
将用于表示单个查询条件控件在客户端显示界面上的宽度占用比率的占比配置在数据库中,占比取值范围为0-1。
(二)查询结果配置
查询结果配置在表query_config中,每个查询配置一条记录。查询结果展示信息包括结果序号、英文字段名称、中文字段名称、列宽度、结果对齐方式和结果格式化处理。
将查询结果展示信息配置在数据库或文件中的具体方法包括:
将用于表示查询结果字段的结果序号配置在数据库或文件中,设置结果序号方便阅读;
将用于表示查询结果字段的英文名称的英文字段名称配置在数据库或文件中,查询结果字段的英文名称,一般与SQL语句中获取的字段名称相同,不区分大小写,一律以小写形式存储到数据库或文件中;
将用于表示查询结果字段的中文名称配置在数据库或文件中,查询结果字段的中文名称,显示在客户端的表格上,即列标题的名称,名字不宜过长;
将用于表示查询结果字段在客户端表格上显示的列宽度配置在数据库或文件中,查询结果字段在客户端表格上显示的列宽度,单位为像素;
将用于表示查询结果字段在客户端表格上的对齐方式配置在数据库或文件中,取值范围1-3(1:左对齐、2:居中、3:右对齐);
将用于表示查询结果字段进行格式化处理配置在数据库或文件中,查询结果字段包括但不限于金额、数字、枚举、日期和时间等数据类型。
格式化金额:固定配置为:FmtMoney:对于金额的数据,为了便于阅读,都需要转化为标准格式,因此使转换工作在客户端完成。加快服务器端的查询速度。
格式化数字:配置为:FmtNum:3,FmtNum:4等等,后面的小数代码精度。为了查询结果的展现好看,需要对带有小数的数据进行格式化处理。
格式化枚举:配置为:FmtCode:acct_stat,acct_stat为枚举中的code_type值。减少服务器端SQL的大量表关联,提高查询速度,使查询结果中直接输出枚举ID,客户端再根据格式转化为相应的中文说明。
格式日期:配置为:FmtDate:。将YYYYMMDD格式的时间转换为YYYY-MM-DD格式。
格式时间:配置为FmtTime:。将HH24MMSS格式的时间转换为HH24:MM:SS格式。
以上为举例的集中格式化内容,也可以自定义其他的格式化选项,如格式化星期、格式化地区等。
(三)查询代码配置
预置类QueryBase,提供查询执行入口、查询条件内容解析、SQL语句拼装等方法。提供变量sQuerySql用于不同的查询功能的sql语句配置。提供虚方法setQuerySql(),用于不同的查询功能进行重写,实现以上变量的赋值执行入口,以得到具体的查询SQL语句。
在代码包下新建一个类,类的名字为Query_+查询英文标识query_id的值。此类继承QueryBase并重写父类中的方法setQuerySql()。setQuerySql()方法是设置获取查询结果的SQL语句(设置sQuerySql变量)。在设置sQuerySql时不用去考虑哪些查询条件有值,哪些查询条件无值,只需书写一定格式的一条语句,如:[acct_no:and a.acct_no=‘<acct_no>’],在解析这条语句时会自动判断acct_no有没有值,如果有值则语句会变成a.acct_no=‘实际的值’,实际的值是代表从客户端传过来的值,如果无值则会丢弃此条语句。
通过上述三个步骤分别进行查询条件配置、查询结果展示配置和查询代码执行的SQL配置,使得数据查询的查询条件和查询结果展示配置能从数据库里进行动态加载,得到一个通用开发模板,用户只需要按照设定规则完成SQL的编写、查询条件和查询结果展示项在数据库中的初始化配置即可完成查询功能的开发。既降低后期代码开发和维护的工作量,从而减少开发维护成本,又提升了用户体验。
以下具体的使用场景对上述实施例进行详细说明:
当客户端第一次登陆系统的时候会通过服务器下载查询参数信息并保存到本地的config目录下配置文件中(以后登陆的时候通过勾选是否下载参数信息复选框可以重新下载查询参数信息并保存到本地的配置文件中),一个查询对应一个配置文件,文件的名称和查询的英文标识query_id相同,配置文件的内容包括查询结果列的英文标识、中文标识、占用的宽度、对齐方式和查询显示列的英文标识等。
当点击查询菜单时,客户端会根据参数信息自动生成查询界面(生成具体的查询控件和设置查询结果需要显示的字段),有些查询控件(如下拉框)的值是从缓存中获得或者通过服务器从数据库里获得(相同控件的值第一次从数据库里获得,以后从缓存里获得)。
点击查询按钮客户端会自动组装报文(报文的内容包括查询英文标识,查询控件的值,需要显示的字段的英文名称等等)并发送到服务器端,报文示例:
,query_id代表查询英文标识,alm_view_field代表查询结果需要显示的列和查询条件及查询条件的值,acct_no、branch_id为查询条件名称,其等号右边为对应值。
服务器接收报文并解析报文,根据报文的内容实例化查询类产生SQL语句并执行数据库操作获得查询结果,然后组装报文并发送到客户端,报文示例:
},rsp_msg代表返回给客户端的信息,alm_result代表查询结果,每一条查询记录用∧分隔,一条查询记录里的列用|分隔。客户端接收报文,解析报文并将结果显示在界面上。
本发明实施例提供的一种数据查询方法,通过制定通用的开发模板,用户按照设定格式完成SQL的编写、查询条件和查询结果展示项在数据库中的初始化配置即可完成查询功能的开发。既降低后期代码开发和维护的工作量,从而减少开发维护成本,又提升了用户体验。
在上述的第一实施例中,提供了一种数据查询方法,与之相对应的,本申请还提供一种数据查询系统。请参考图2,其为本发明第二实施例提供的一种数据查询系统的结构示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
如图2所示,示出了本发明提供的一种数据查询系统的结构示意图,该系统包括:信息配置模块、请求获取模块、解析模块、匹配模块和结果发送模块,其中,信息配置模块用于预先为查询功能设置一个唯一的查询标识名称,所述查询标识名称用于标识不同的查询功能,所述查询功能包括查询条件和查询结果展示信息;预先设定查询功能的SQL语句编写方式和查询条件的解析方式;请求获取模块用于获取客户端发送的获取查询条件和查询结果展示信息配置信息请求,向客户端发送查询条件和查询结果展示信息配置信息,获取客户端发送的查询请求,根据查询标识名称获取查询条件的值和查询结果展示信息;解析模块用于根据查询标识名称搜索需要执行已配置的SQL语句,根据查询条件配置格式解析查询条件的内容;匹配模块用于根据查询条件的内容执行SQL查询语句,查询匹配得到查询结果;结果发送模块用于将所述查询结果发送给客户端按照查询结果展示信息进行展示。
本实施例将数据查询的查询条件及查询结果展示信息配置在数据库里进行动态加载,将有区别的内容进行区别处理,有共性的内容采用共性处理。将查询SQL语句、查询条件及查询结果的展示信息等进行预先配置,将功能展示、结果存储和传输等所有一致的功能采用共性处理,这样极大地减少了开发人员的工作量,也能让所有的查询功能到统一界面的展示,后期改造维护更方便。
具体地,在进行查询开发时,需要先定义一个query_id用于标识该查询的唯一性,将查询条件及查询结果展示信息配置在关系型数据中的数据表中,如查询结果展示信息配置在数据表query_config,查询条件配置在数据表query_term_info。其中,query_id是表query_config、query_term_info的主键的一个元素。将SQL语句配置在代码中。以下是详细实现:
(一)查询条件配置
查询条件需要配置在表query_term_info中,有多少个条件控件,就依次填写多少条记录。一个条件包含显示的名称和用于用户输入查询条件内容的控件组成,名称和内容分两条记录存储。
查询条件包括条件序号、条件标识、默认值、控件类名和占比。
条件序号用于表示查询条件控件在客户端的显示界面的显示顺序,条件序号为数据型,表示查询条件控件的显示顺序;在客户端的界面上按照此顺序从左往右,从上往下的依次摆放。
条件标识用于表示查询条件的英文标识,条件标识用英文小写字母表示,是在查询请求报文中的查询条件,如:acct_no代表客户号,s_exch_date代表起始交易日期等,可以定义规则,如不区分大小写,在发起查询请求时一律转为小写形式发送,配置在数据库中时同样一律以小写的方式存储。
默认值用于表示查询条件的默认值,默认值一般只有标签填写此值,设置时区分大小写。
控件类名用于表示查询条件对应的客户端的类名,查询条件对应的客户端控件类名,设置时区分大小写。
占比用于表示单个查询条件控件在客户端显示界面上的宽度占用比率,占比取值范围为0-1。
(二)查询结果配置
查询结果展示信息包括结果序号、英文字段名称、中文字段名称、列宽度、结果对齐方式和结果格式化处理。
结果序号用于表示查询结果字段,设置结果序号方便阅读。
英文字段名称用于表示查询结果字段的英文名称。查询结果字段的英文名称,一般与SQL语句中获取的字段名称相同,不区分大小写,一律以小写形式存储到数据库或文件中。
中文字段名称用于表示查询结果字段的中文名称。查询结果字段的中文名称,显示在客户端的表格上,即列标题的名称,名字不宜过长。
列宽度用于表示查询结果字段在客户端表格上显示的列宽度。查询结果字段在客户端表格上显示的列宽度,单位为像素。
结果对齐方式用于表示查询结果字段在客户端表格上的对齐方式,取值范围1-3(1:左对齐、2:居中、3:右对齐)。
结果格式化处理用于表示查询结果字段进行格式化处理。查询结果字段包括各种数据类型,包括但不限于金额、数字、枚举、日期和时间等。
格式化金额:固定配置为:FmtMoney:对于金额的数据,为了便于阅读,都需要转化为标准格式,因此使转换工作在客户端完成。加快服务器端的查询速度。
格式化数字:配置为:FmtNum:3,FmtNum:4等等,后面的小数代码精度。为了查询结果的展现好看,需要对带有小数的数据进行格式化处理。
格式化枚举:配置为:FmtCode:acct_stat,acct_stat为枚举中的code_type值。减少服务器端SQL的大量表关联,提高查询速度,使查询结果中直接输出枚举ID,客户端再根据格式转化为相应的中文说明。
格式日期:配置为:FmtDate:。将YYYYMMDD格式的时间转换为YYYY-MM-DD格式。
格式时间:配置为FmtTime:。将HH24MMSS格式的时间转换为HH24:MM:SS格式。
以上为举例的集中格式化内容,也可以自定义其他的格式化选项,如格式化星期、格式化地区等。
(三)代码配置
预置类QueryBase,提供查询执行入口、查询条件内容解析、SQL语句拼装等方法。提供变量sQuerySql用于不同的查询功能的sql语句配置。提供虚方法setQuerySql(),用于不同的查询功能进行重写,实现以上变量的赋值执行入口,以得到具体的查询SQL语句。
在代码包下新建一个类,类的名字为Query_+查询英文标识query_id的值。此类继承QueryBase并重写父类中的方法setQuerySql()。setQuerySql()方法是设置获取查询结果的SQL语句(设置sQuerySql变量)。在设置sQuerySql时不用去考虑哪些查询条件有值,哪些查询条件无值,只需书写一定格式的一条语句,如:[acct_no:and a.acct_no=‘<acct_no>’],在解析这条语句时会自动判断acct_no有没有值,如果有值则语句会变成a.acct_no=‘实际的值’,实际的值是代表从客户端传过来的值,如果无值则会丢弃此条语句。QueryBase中内置好查询条件的解析和查询的执行方法,并将查询结果按照查询结果配置项格式化处理。
通过上述三个步骤分别进行查询条件配置、查询结果展示配置和查询代码执行的SQL配置,使得数据查询的查询条件和查询结果展示配置能从数据库里进行动态加载,得到一个通用开发模板,用户只需要按照设定规则完成SQL的编写、查询条件和查询结果展示项在数据库中的初始化配置即可完成查询功能的开发。既降低后期代码开发和维护的工作量,从而减少开发维护成本,又提升了用户体验。
以下具体的使用场景对上述实施例进行详细说明:
当客户端第一次登陆系统的时候会通过服务器下载查询参数信息并保存到本地的config目录下配置文件中(以后登陆的时候通过勾选是否下载参数信息复选框可以重新下载查询参数信息并保存到本地的配置文件中),一个查询对应一个配置文件,文件的名称和查询的英文标识query_id相同,配置文件的内容包括查询结果列的英文标识、中文标识、占用的宽度、对齐方式和查询显示列的英文标识等。
当点击查询菜单时,客户端会根据参数信息自动生成查询界面(生成具体的查询控件和设置查询结果需要显示的字段),有些查询控件(如下拉框)的值是从缓存中获得或者通过服务器从数据库里获得(相同控件的值第一次从数据库里获得,以后从缓存里获得)。
点击查询按钮客户端会自动组装报文(报文的内容包括查询英文标识,查询控件的值,需要显示的字段的英文名称等等)并发送到服务器端,报文示例:
},query_id代表查询英文标识,alm_view_field代表查询结果需要显示的列和查询条件及查询条件的值。
服务器接收报文并解析报文,根据报文的内容实例化查询类产生SQL语句并执行数据库操作获得查询结果,然后组装报文并发送到客户端,报文示例:
},rsp_msg代表返回给客户端的信息,alm_result代表查询结果,每一条查询记录用∧分隔,一条查询记录里的列用|分隔。客户端接收报文,解析报文并将结果显示在界面上。
本发明实施例提供的一种数据查询系统,通过制定通用的开发模板,用户按照设定格式完成SQL的编写、查询条件和查询结果展示项在数据库中的初始化配置即可完成查询功能的开发。既降低后期代码开发和维护的工作量,从而减少开发维护成本,又提升了用户体验。
如图3所示,示出了本发明另一实施例提供的一种智能终端的结构示意图,该终端包括处理器、输入设备、输出设备和存储器,处理器输入设备、输出设备和存储器相互连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述实施例描述的方法。
应当理解,在本发明实施例中,所称处理器可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备可以包括显示器(LCD等)、扬声器等。
该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
具体实现中,本发明实施例中所描述的处理器、输入设备、输出设备可执行本发明实施例提供的方法实施例所描述的实现方式,也可执行本发明实施例所描述的系统实施例的实现方式,在此不再赘述。
在本发明还提供一种计算机可读存储介质的实施例,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时使处理器执行上述实施例描述的方法。
计算机可读存储介质可以是前述实施例所述的终端的内部存储单元,例如终端的硬盘或内存。计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述终端所需的其他程序和数据。计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露终端和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (10)
1.一种数据查询方法,其特征在于,包括以下步骤:
预先为查询功能设置一个唯一的查询标识名称,所述查询标识名称用于标识不同的查询功能,所述查询功能包括查询条件和查询结果展示信息;
将查询条件和查询结果展示信息配置在数据库或文件中;
预先设定查询功能的SQL语句编写方式和查询条件的解析方式;
获取客户端发送的获取查询条件和查询结果展示信息配置信息请求,向客户端发送查询条件和查询结果展示信息配置信息,获取客户端发送的查询请求,根据查询标识名称获取查询条件的值和查询结果展示信息;
根据查询标识名称搜索需要执行已配置的SQL语句,根据查询条件配置格式解析查询条件的内容;
根据查询条件的内容执行SQL查询语句,查询匹配得到查询结果;
将所述查询结果发送给客户端按照查询结果展示信息进行展示。
2.如权利要求1所述的数据查询方法,其特征在于,所述查询条件包括条件序号、条件标识、默认值、控件类名和占比,所述将查询条件配置在数据库或文件中的具体方法包括:
将用于表示查询条件控件在客户端的显示界面的显示顺序的条件序号配置在数据库或文件中;
将用于表示查询条件的英文标识的条件标识配置在数据库或文件中;
将用于表示查询条件的默认值配置在数据库或文件中;
将用于表示查询条件对应的客户端的类名的控件类名配置在数据库或文件中;
将用于表示单个查询条件控件在客户端显示界面上的宽度占用比率的占比配置在数据库或文件中。
3.如权利要求1所述的数据查询方法,其特征在于,所述查询结果展示信息包括结果序号、英文字段名称、中文字段名称、列宽度、结果对齐方式和结果格式化处理;
所述将查询结果展示信息配置在查询结果数据库中的具体方法包括:
将用于表示查询结果字段的结果序号配置在数据库或文件中;
将用于表示查询结果字段的英文名称的英文字段名称配置在数据库或文件中;
将用于表示查询结果字段的中文名称配置在数据库或文件中;
将用于表示查询结果字段在客户端表格上显示的列宽度配置在数据库或文件中;
将用于表示查询结果字段在客户端表格上的对齐方式配置在数据库或文件中;
将用于表示查询结果字段进行格式化处理配置在数据库或文件中。
4.如权利要求3所述的数据查询方法,其特征在于,所述查询结果字段包括各种类型的数据,包括但不限于金额、数字、枚举、日期和时间。
5.一种数据查询系统,其特征在于,包括:信息配置模块、请求获取模块、解析模块、匹配模块和结果发送模块;
所述信息配置模块用于预先为查询功能设置一个唯一的查询标识名称,所述查询标识名称用于标识不同的查询功能,所述查询功能包括查询条件和查询结果展示信息;
预先设定查询功能的SQL语句编写方式和查询条件的解析方式;所述请求获取模块用于获取客户端发送的获取查询条件和查询结果展示信息配置信息请求,向客户端发送查询条件和查询结果展示信息配置信息,获取客户端发送的查询请求,根据查询标识名称获取查询条件的值和查询结果展示信息;
所述解析模块用于根据查询标识名称搜索需要执行已配置的SQL语句,根据查询条件配置格式解析查询条件的内容;
所述匹配模块用于根据查询条件的内容执行SQL查询语句,查询匹配得到查询结果;
所述结果发送模块用于将所述查询结果发送给客户端按照查询结果展示信息进行展示。
6.如权利要求5所述的数据查询系统,其特征在于,所述查询条件包括条件序号、条件标识、默认值、控件类名和占比;
所述条件序号用于表示查询条件控件在客户端的显示界面的显示顺序;
所述条件标识用于表示查询条件的英文标识;
所述默认值用于表示查询条件的默认值;
所述控件类名用于表示查询条件对应的客户端的类名;
所述占比用于表示单个查询条件控件在客户端显示界面上的宽度占用比率。
7.如权利要求6所述的数据查询系统,其特征在于,所述查询结果展示信息包括结果序号、英文字段名称、中文字段名称、列宽度、结果对齐方式和结果格式化处理;
所述结果序号用于表示查询结果字段;
所述英文字段名称用于表示查询结果字段的英文名称;
所述中文字段名称用于表示查询结果字段的中文名称;
所述列宽度用于表示查询结果字段在客户端表格上显示的列宽度;
所述结果对齐方式用于表示查询结果字段在客户端表格上的对齐方式;
所述结果格式化处理用于表示查询结果字段进行格式化处理。
8.如权利要求7所述的数据查询系统,其特征在于,所述查询结果字段包括各种类型的数据,包括但不限于金额、数字、枚举、日期和时间。
9.一种智能终端,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,其特征在于,所述处理器被配置用于调用所述程序指令,执行如权利要求1-4任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211377853.8A CN115544061A (zh) | 2022-11-04 | 2022-11-04 | 一种数据查询方法、系统、终端及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211377853.8A CN115544061A (zh) | 2022-11-04 | 2022-11-04 | 一种数据查询方法、系统、终端及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115544061A true CN115544061A (zh) | 2022-12-30 |
Family
ID=84721353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211377853.8A Pending CN115544061A (zh) | 2022-11-04 | 2022-11-04 | 一种数据查询方法、系统、终端及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115544061A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597238A (zh) * | 2020-06-10 | 2020-08-28 | 北京明朝万达科技股份有限公司 | 一种基于数据库的动态展示表格数据的方法及装置 |
-
2022
- 2022-11-04 CN CN202211377853.8A patent/CN115544061A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111597238A (zh) * | 2020-06-10 | 2020-08-28 | 北京明朝万达科技股份有限公司 | 一种基于数据库的动态展示表格数据的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111367976B (zh) | 基于java反射机制的excel文件数据的导出方法及装置 | |
CA2684822C (en) | Data transformation based on a technical design document | |
US20030195873A1 (en) | Identifier vocabulary data access method and system | |
US6484178B1 (en) | Universal claims formatter | |
CN102662966B (zh) | 一种面向主题的获取动态页面内容的方法及系统 | |
US20050144166A1 (en) | Method for assisting in automated conversion of data and associated metadata | |
US20050108267A1 (en) | Universal parsing agent system and method | |
US7685114B2 (en) | Systems and methods for mapping text | |
WO2007064050A1 (en) | System offering a data- skin based on standard schema and the method | |
CN114090671A (zh) | 数据导入方法、装置、电子设备及存储介质 | |
CN110765101A (zh) | 标签的生成方法、装置、计算机可读存储介质及服务器 | |
WO2020023156A1 (en) | Language agnostic data insight handling for user application data | |
CN115544061A (zh) | 一种数据查询方法、系统、终端及计算机可读存储介质 | |
CN113625683A (zh) | 车辆诊断方法、装置、电子设备及存储介质 | |
CN112783482A (zh) | 一种可视化表单生成方法、装置、设备及存储介质 | |
CN114201615B (zh) | 基于数据快照的科研数据变动回顾方法及服务器 | |
CN111562907A (zh) | 自定义接口数据的转换方法与系统 | |
CN114691712A (zh) | 一种生成票据的方法、装置以及存储介质 | |
CN112463272B (zh) | 一种界面布局加载显示方法、系统、电子设备及存储介质 | |
EP1745390A2 (en) | Data and metadata linking form mechanism and method | |
CN110597812B (zh) | 菜单配置方法、装置、终端及可读存储介质 | |
CN113297856A (zh) | 文档翻译方法、装置及电子设备 | |
CN111598707A (zh) | 一种页面的生成方法及电子设备 | |
CN113900755B (zh) | 告警页面处理方法、装置、计算机设备及可读存储介质 | |
CN106570004B (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 |