单表查询方法、装置、终端及可读存储介质制造方法及图纸

技术编号:23085029 阅读:19 留言:0更新日期:2020-01-11 01:08
本发明专利技术实施例公开了一种单表查询方法、装置、终端及可读存储介质。其中,方法包括:获取单表查询所需的请求体、响应体、服务端的标识和通用查询接口的信息;调用通用查询接口,读取请求体对应的数据表的信息,并将数据表的信息拼接为结构化查询语言SQL语句,所述数据表存储在所述服务端中;调用通用查询接口,根据响应体,将SQL语句在数据库中的执行结果填充至对象指针切片中,并返回所述对象指针切片。本发明专利技术实施例降低了开发的工作量和耗时,有利于业务操作平台的高效运转和推进。

Single table query method, device, terminal and readable storage medium

【技术实现步骤摘要】
单表查询方法、装置、终端及可读存储介质
本专利技术实施例涉及数据库技术,尤其涉及一种单表查询方法、装置、终端及可读存储介质。
技术介绍
在大多业务操作平台中,业务层需要经常查询基础层中的数据表,以获取业务操作所需的数据。目前,基础层通过谷歌提出的现代、开源、高效的远程过程调用(RemoteProcedureCall,RPC)接口的方式对外提供查询服务,依赖于proto文件的定义。通过proto文件生成对应的中间文件pb.go,基础层完成pb.go中的接口实现,业务层使用pb.go来完成接口调用。目前,为了满足业务层的多种数据表查询需求,基础层提供了大量的定制化查询接口,这些查询接口不具备通用性,增加了开发的工作量;而且,查询接口的功能是类似的,给接口命名和定义带来一定的困扰。
技术实现思路
本专利技术实施例提供一种单表查询方法、装置、终端及可续存储介质,以降低单表查询的工作量和耗时。第一方面,本专利技术实施例提供了一种单表查询方法,包括:获取单表查询所需的请求体、响应体、服务端的标识和通用查询接口的信息,其中,请求体包括待查询的数据表对应的对象的名称,数据表的主键标识和待返回的属性名,响应体为对象指针切片的地址;调用通用查询接口,读取请求体对应的数据表的信息,并将数据表的信息拼接为结构化查询语言SQL语句,所述数据表存储在所述服务端中;调用通用查询接口,根据响应体,将SQL语句在数据库中的执行结果填充至对象指针切片中,并返回所述对象指针切片。第二方面,本专利技术实施例还提供了一种单表查询装置,包括:获取模块,用于获取单表查询所需的请求体、响应体、服务端的标识和通用查询接口的信息,其中,请求体包括待查询的数据表对应的对象的名称,数据表的主键标识和待返回的属性名,响应体为对象指针切片的地址;拼接模块,用于调用通用查询接口,读取请求体对应的数据表的信息,并将数据表的信息拼接为结构化查询语言SQL语句,所述数据表存储在所述服务端中;返回模块,用于调用通用查询接口,根据响应体,将SQL语句在数据库中的执行结果填充至对象指针切片中,并返回所述对象指针切片。第三方面,本专利技术实施例还提供了一种终端,所述终端包括:一个或多个处理器;存储器,用于存储一个或多个代码,当所述一个或多个代码被所述一个或多个处理器执行,使得所述一个或多个处理器实现任一实施例所述的单表查询方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机代码,该代码被处理器执行时实现任一实施例所述的单表查询方法。本专利技术实施例提供了一种基于通用查询接口的单表查询方法,对于基于主键标识的单表查询,均可以通过本实施例提供的方法实现,无需单独开发实现,具有一定的通用性,降低了开发工作量和耗时;本实施例通过通用查询接口实现单表查询,大量定制化的查询接口收敛为通用查询接口,对于调用者来说,无需再查找定制化查询接口,只需要编写单表查询所需的请求体、响应体、服务端的标识和通用查询接口的信息,即可实现准确调用,减轻心智负担。附图说明图1是本专利技术实施例一提供的一种单表查询方法的流程图;图2是本专利技术实施例二提供的一种单表查询方法的流程图;图3是本专利技术实施例三提供的一种单表查询装置的结构示意图;图4是本专利技术实施例四提供的一种终端的结构示意图;具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1是本专利技术实施例一提供的一种单表查询方法的流程图,本实施例可适用于在业务操作平台中,通过业务层查询基础层中存储的单表的情况。对于中型业务操作平台而言,不考虑水平切分的情况下,基础层中可存储50至100张数据表。本实施例中,基础层位于服务端,业务层位于终端,业务层通过远程过程调用(RemoteProcedureCall,RPC)对服务端的单表进行查询操作。可选地,本实施例采用谷歌提出的RPC即gRPC,对服务端的单表进行查询操作。本实施例中的方法可以由单表查询装置来执行,该装置可以由软件和/或硬件构成,并一般集成在终端中。结合图1,本专利技术实施例提供的单表查询方法具体包括如下操作:S110、获取单表查询所需的请求体、响应体、服务端的标识和通用查询接口的信息。业务层提供面向调用者的编程界面,调用者在编程界面中输入单表查询所需的请求体、响应体、服务端的标识和通用查询接口。下面是相应的代码示例:下面结合代码示例,详细说明获取的四个要素。其中,请求体(即req)包括待查询的数据表对应的对象的名称(即“Sp”),数据表的主键标识(即“1”)和待返回的属性名(即"SpFullName,SpShortName")。数据表的主键标识用于唯一标识主键,例如主键的序号、主键的名称等;主键的数量可以是1个,或者2个以上,即构成主键集合。待返回的属性名可以包括至少一个,中间用逗号隔开。响应体为对象指针切片的地址(即CommonDao.SpSlice的地址),用于传回单表查询的结果。服务端的标识包括但不限于服务端的地址、服务端的名称、编号等唯一标识。服务端的标识。在采用gRPC的场景下,gRPC服务端的地址封装在gRPC业务框架中。通用查询接口的信息,可以是通用查询接口名,通过拼接通用查询接口的字符串(即FindById)和微服务的服务名(即sp_basic_impl)得到。S120、调用通用查询接口,读取请求体对应的数据表的信息,并将数据表的信息拼接为SQL语句,所述数据表存储在所述服务端中。初始化并执行上述代码,实现通用查询接口的调用。根据通用查询接口的信息可以确定需要调用的通用查询接口,通用查询接口实现的方法包括:读取请求体对应的数据表的信息,并将数据表的信息拼接为SQL语句;根据响应体,将SQL语句在数据库中的执行结果填充至对象指针切片中,并返回所述对象指针切片。基于此,在调用通用查询接口时,能够读取请求体对应的数据表的信息,并将数据表的信息拼接为SQL语句,以及根据响应体,将SQL语句在数据库中的执行结果填充至对象指针切片中,并返回所述对象指针切片。其中,通过服务端的标识可以确定数据表存储在的服务端。本实施例中,对数据表的查询包括两个方面:数据源来自哪张数据表;获取数据表中的哪些属性。其中,对象的名称与数据表具有一一对应关系,标识了数据源来自哪张数据表。数据表的主键标识和待返回的属性名共同标识了数据表中的哪些属性。因此,请求体能够准确锁定需要查询的数据表内容。S130、调用通用查询接口,根据响应体,将SQL语句在数据库中的执行结果填充至对象指针切片中,并返回所述对象指针切片。数据表的信息是零散的字段,并不能被数据库识别并执行。本文档来自技高网...

【技术保护点】
1.一种单表查询方法,其特征在于,包括:/n获取单表查询所需的请求体、响应体、服务端的标识和通用查询接口的信息;/n调用通用查询接口,读取请求体对应的数据表的信息,并将数据表的信息拼接为结构化查询语言SQL语句,所述数据表存储在所述服务端中;/n调用通用查询接口,根据响应体,将SQL语句在数据库中的执行结果填充至对象指针切片中,并返回所述对象指针切片。/n

【技术特征摘要】
1.一种单表查询方法,其特征在于,包括:
获取单表查询所需的请求体、响应体、服务端的标识和通用查询接口的信息;
调用通用查询接口,读取请求体对应的数据表的信息,并将数据表的信息拼接为结构化查询语言SQL语句,所述数据表存储在所述服务端中;
调用通用查询接口,根据响应体,将SQL语句在数据库中的执行结果填充至对象指针切片中,并返回所述对象指针切片。


2.根据权利要求1所述的方法,其特征在于,所述请求体包括待查询的数据表对应的对象的名称,数据表的主键标识和待返回的属性名,响应体为对象指针切片的地址。


3.根据权利要求1所述的方法,其特征在于,在所述调用通用查询接口,读取请求体对应的数据表的信息之前,还包括:
预定义所述对象的名称与抽象接口的映射关系,所述抽象接口封装的方法包括:将对象指针切片传递至对象关系映射ORM框架,通过所述ORM框架通过反射加载服务端中所述数据表的信息。


4.根据权利要求3所述的方法,其特征在于,在所述调用通用查询接口,读取请求体对应的数据表的信息之前,还包括:
在代码初始化时,根据所述对象的名称与抽象接口的映射关系,调用所述抽象接口加载服务端中所述数据表的信息,并将所述数据表的信息存储至本地存储空间;
相应地,所述调用通用查询接口,读取请求体对应的数据表的信息,包括:
调用通用查询接口,从本地存储空间中读取请求体对应的数据表的信息。


5.根据权利要求4所述的方法,其特征在于,所述数据表的信息包括属性名和字段名的映射关系、主键字段和数据表名中的至少一种;
相应地,所述调用通用查询接口,从本地存储空间中读取请求体对应的数据表的信息,包括以下操作中的至少一种:
调用通用查询接口,根据所述请求体中的属性名,从所述本地存储空间中读取属性名与字段名的对应关系;
调用通用查询接口,根据所述请求体中对象的名称,从所述本地存储空间中读取与对象的名称对应的数据表名;
调用通用查询接口,根据所述请求体中数据表的主键标识,从所述本地存储空间中读取与主键标识对应的主键字段。


6.根据权利要求4所述的方法,其特征在于,在所述预定义所述对象的名称与抽象接口的映射关系之前,还包括:
定义抽象接口,所述抽象接口封装的方法还包括:在远程过程调用RPC中作为返回结构直接使用;
生成数据表对应的对象和对象指针切片;
生成所述对象的go文件,所述go文件包括所述对象的结构体和所述对象指针切片的结构体,所述...

【专利技术属性】
技术研发人员:智鹏
申请(专利权)人:苏州达家迎信息技术有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1