CN118012873A - 数据表操作方法、装置、计算机设备和存储介质 - Google Patents

数据表操作方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN118012873A
CN118012873A CN202410174208.9A CN202410174208A CN118012873A CN 118012873 A CN118012873 A CN 118012873A CN 202410174208 A CN202410174208 A CN 202410174208A CN 118012873 A CN118012873 A CN 118012873A
Authority
CN
China
Prior art keywords
data table
field
variable
annotation
target data
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
Application number
CN202410174208.9A
Other languages
English (en)
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.)
Kingdee Automobile Network Technology Co ltd
Original Assignee
Kingdee Automobile Network Technology Co 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 Kingdee Automobile Network Technology Co ltd filed Critical Kingdee Automobile Network Technology Co ltd
Priority to CN202410174208.9A priority Critical patent/CN118012873A/zh
Publication of CN118012873A publication Critical patent/CN118012873A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种数据表操作方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:获取针对目标数据表的数据表操作;基于数据表操作对应的待操作字段变量在目标数据表对应的数据表操作对象中对应的字段注解,确定待操作字段变量在目标数据表中对应的待操作字段标识;基于数据表操作对象中的表名注解,确定目标数据表对应的表名标识,基于数据表操作对象中的主键注解,确定目标数据表对应的主键标识;基于待操作字段标识、主键标识和表名标识,得到并执行数据表操作对应的数据库操作语句。采用本方法能够提高数据库操作语句生成效率。

Description

数据表操作方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据表操作方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
在业务软件开发的过程中,需要将业务相关的数据表封装为数据表操作对象,数据表操作对象可以作为数据传递的中间对象,在不同的模块或组件之间传递数据。通过将数据封装在数据表操作对象中,可以实现数据的传递和共享,简化代码的编写和维护。
传统技术中,是直接使用数据表的表名缩写和数据表字段的字段名缩写生成数据表对应的数据表操作对象,使得数据表操作对象代码的可读性差,从而导致基于数据表操作对象生成的数据库操作语句的效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据库操作语句生成效率的数据表操作方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
本申请提供了一种数据表操作方法。所述方法包括:
获取针对目标数据表的数据表操作;
基于数据表操作对应的待操作字段变量在目标数据表对应的数据表操作对象中对应的字段注解,确定待操作字段变量在目标数据表中对应的待操作字段标识;数据表操作对象是基于目标数据表的元数据生成的,数据表操作对象包括与目标数据表中的数据表字段对应的字段变量和字段注解、与目标数据表的表名对应的表名注解、与目标数据表的主键对应的主键注解;
基于数据表操作对象中的表名注解,确定目标数据表对应的表名标识,基于数据表操作对象中的主键注解,确定目标数据表对应的主键标识;
基于待操作字段标识、表名标识和主键标识,得到并执行数据表操作对应的数据库操作语句。
本申请还提供了一种数据表操作装置。所述装置包括:
操作获取模块,用于获取针对目标数据表的数据表操作;
第一标识确定模块,用于基于数据表操作对应的待操作字段变量在目标数据表对应的数据表操作对象中对应的字段注解,确定待操作字段变量在目标数据表中对应的待操作字段标识;数据表操作对象是基于目标数据表的元数据生成的,数据表操作对象包括与目标数据表中的数据表字段对应的字段变量和字段注解、与目标数据表的表名对应的表名注解、与目标数据表的主键对应的主键注解;
第二标识确定模块,基于数据表操作对象中的表名注解,确定目标数据表对应的表名标识,基于数据表操作对象中的主键注解,确定目标数据表对应的主键标识;
语句生成模块,用于基于待操作字段标识、表名标识和主键标识,得到并执行数据表操作对应的数据库操作语句。一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述数据表操作方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述数据表操作方法的步骤。
一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现上述数据表操作方法的步骤。
上述数据表操作方法、装置、计算机设备、存储介质和计算机程序产品,通过获取针对目标数据表的数据表操作,进而基于数据表操作对应的待操作字段变量在目标数据表对应的数据表操作对象中对应的字段注解,确定待操作字段变量在目标数据表中对应的待操作字段标识。进而基于数据表操作对象中的表名注解和主键注解,确定目标数据表对应的表名标识和主键标识,进而根据待操作字段标识、主键标识和表名标识,拼接数据表操作对应的数据库操作语句,进而执行数据库操作语句,得到数据表操作对应的操作结果。数据表操作对象包括与目标数据表中的数据表字段对应的字段变量和字段注解、与目标数据表的表名对应的表名注解、以及与目标数据表的主键对应的主键注解。这样,在获取到针对目标数据表的数据表操作时,可以直接从目标数据表对应的数据表操作对象包含的表名注解、主键注解和字段注解中快速解析拼接数据库操作语句所需的表名标识、主键标识和字段标识,减少了一层待操作变量和数据表元数据之间的映射,大幅提升了获取数据表元数据的效率,从而大幅提升动态构建数据库操作语句的效率。
附图说明
图1为一个实施例中数据表操作方法的应用环境图;
图2为一个实施例中数据表操作方法的流程示意图;
图3为一个实施例中生成数据表操作对象的流程示意图;
图4为一个实施例中生成数据表操作对象的原理示意图;
图5为一个实施例中生成数据表操作对象的响应时序图;
图6为一个实施例中数据表操作装置的结构框图;
图7为一个实施例中计算机设备的内部结构图;
图8为另一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据表操作方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能电视、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端102以及服务器104可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
终端和服务器均可单独用于执行本申请实施例中提供的数据表操作方法。
例如,终端获取针对目标数据表的数据表操作,基于数据表操作对应的待操作字段变量在目标数据表对应的数据表操作对象中对应的字段注解,确定待操作字段变量在目标数据表中对应的待操作字段标识;数据表操作对象是基于目标数据表的元数据生成的,数据表操作对象包括与目标数据表中的数据表字段对应的字段变量和字段注解、与目标数据表的表名对应的表名注解、与目标数据表的主键对应的主键注解。终端基于数据表操作对象中的数据表注解,确定目标数据表对应的表名标识,基于数据表操作对象中的主键注解,确定目标数据表对应的主键标识。终端基于待操作字段标识、表名标识和主键标识,得到并执行数据表操作对应的数据库操作语句。
终端和服务器也可协同用于执行本申请实施例中提供的数据表操作方法。
在一个实施例中,如图2所示,提供了一种数据表操作方法,以该方法应用于计算机设备为例进行说明,计算机设备可以是终端或服务器,由终端或服务器自身单独执行,也可以通过终端和服务器之间的交互来实现。数据表操作方法包括以下步骤:
步骤S202,获取针对目标数据表的数据表操作。
其中,目标数据表是指数据库中存储的、待操作的数据表。数据表操作是指针对数据库中的数据表的操作指令,例如,数据表操作可以是针对目标数据表的数据插入指令、数据查询指令、数据更新指令、数据删除指令等。数据表操作需要通过生成相应的数据库操作语句来执行,数据库操作语句用于执行对数据库的各种操作。例如,数据库操作语句可以是SQL(Structured Query Language,结构化查询语言)语句。可以理解,数据表操作是指针对数据表的操作指令,通过数据表操作对应的数据库操作语句来执行该操作指令。
示例性地,大多数应用程序都需要存储和检索数据,数据库是管理和存储这些数据的一种有效方式,通过数据库操作语句,开发人员可以对数据库中的数据表进行操作,例如,读取、更新、删除数据表中的数据。在许多的应用程序中,业务逻辑是通过操作数据库来实现的,例如,用户注册、登录、购买商品、提交订单等操作通常都会与数据库交互。然而,大多数的数据库管理系统(如MySQL、PostgreSQL、SQL Server等)使用标准化的数据库操作语句(如SQL语句)来执行实际的数据库操作,数据库操作无法直接通过程序代码执行。因此,在应用程序运行过程中,当运行到需要与数据库进行交互的代码行时,动态生成相应的数据库操作语句来完成与数据库的交互。在运行应用程序的过程中,当运行到需要与目标数据库进行交互的代码行时,生成针对目标数据表的数据表操作,计算机设备获取针对目标数据表的数据表操作。
步骤S204,基于数据表操作对应的待操作字段变量在目标数据表对应的数据表操作对象中对应的字段注解,确定待操作字段变量在目标数据表中对应的待操作字段标识;数据表操作对象是基于目标数据表的元数据生成的,数据表操作对象包括与目标数据表中的数据表字段对应的字段变量和字段注解、与目标数据表的表名对应的表名注解、与目标数据表的主键对应的主键注解。
其中,待操作字段变量是指数据表操作所针对的字段变量,例如,若目标数据表为A班成绩单,数据表中数学成绩这一数据表字段被声明为变量A_Math,则当数据表操作为将各个学生的数学成绩写入目标数据表时,数据表操作对应的待操作字段变量为A_Math。
目标数据表对应的数据表操作对象是指包含目标数据表中每个字段对应的变量、以及用于操作这些变量的方法的实体类,并且目标数据表中还包含各个变量分别对应的字段注解、目标数据表对应的表名注解和目标数据表的主键对应的主键注解,通过将目标数据表封装为数据表操作对象,可以方便进行数据的传递、处理和操作,使得代码更加清晰和易于维护。例如,当开发人员使用Java语言进行软件开发时,数据表操作对象可以是Bean类。
字段注解是指用于指示字段变量在数据表中对应的字段标识的注解。待操作字段变量对应的待操作字段标识是指待操作字段变量在目标数据表中对应的数据表字段的字段标识。例如,当目标数据表中的数据表字段“math”在数据表操作对象中被定义为字段变量“A_math”时,字段变量“A_Math”对应的待操作字段标识即为“math”。表名注解是指用于指示数据表对应的表名标识的注解。主键注解是指用于指示数据表对应的主键标识的注解。字段注解、表名注解和主键注解都是基于数据表对应的元数据生成的,用于为数据表操作对象添加额外的信息,这些注解可以被编译器或运行环境使用。例如,在Java语言中,注解以“@”符号开头,后接注解的名称,最后是位于括号中的参数列表,在目标数据表对应的数据表操作对象中,字段变量“A_math”对应的字段注解可以是“@TableField(name="math")”,TableField为注解的名称,表明是字段注解;当目标数据表对应的表名标识为class_A、主键标识为“fid”时,目标数据表对应的表名注解可以是“@Table(name="class_A")”,Table为注解的名称,表明是表名注解;主键注解可以是“@TablePrimaryKey(name="fid")”,TablePrimaryKey是注解的名称,表明是主键注解。注解是一种代码级别的说明,可以声明在字段变量、方法、方法参数的前面,用于对这些元素进行说明、注释。
目标数据表的元数据是指描述数据表中数据的数据,例如,常见的元数据包括表名标识、字段标识、主键、数据类型等。
示例性地,计算机设备首先确定数据表操作对应的待操作字段变量,进而通过注解检索函数,在目标数据表对应的数据表操作对象中检索字段变量对应的字段注解,进而从待操作字段变量在目标数据表中对应的字段注解中,提取待操作字段变量在目标数据表中对应的操作字段标识。目标数据表对应的数据表操作对象是基于目标数据表的元数据生成的。具体地,读取目标数据表对应的元数据集,基于目标数据表对应的表名标识,生成目标数据表对应的表名注解,基于目标数据表对应的主键标识,生成目标数据表对应的主键注解,将目标数据表中的各个数据表字段封装为相应的字段变量,同时,基于各个数据表字段分别对应的字段标识,生成各个字段变量分别对应的字段注解。基于目标数据表对应的表名注解、主键注解、各个数据表字段分别对应的字段变量以及各个字段变量分别对应的字段注解,生成目标数据表对应的数据表操作对象。
步骤S206,基于数据表操作对象中的表名注解,确定目标数据表对应的表名标识,基于数据表操作对象中的主键注解,确定目标数据表对应的主键标识。
其中,表名标识是指数据表的表名。主键标识是指数据表中主键的名称。
示例性地,计算机设备通过注解检索函数,在目标数据表对应的数据表操作对象中,检索目标数据表对应的表名注解,从数据表操作对象包含的表名注解中,提取目标数据表对应的表名标识。同样地,通过注解检索函数,在目标数据表对应的数据表操作对象中,检索目标数据表对应的主键注解,从数据表操作对象包含的主键注解中,提取目标数据表对应的主键标识。
步骤S208,基于待操作字段标识、表名标识和主键标识,得到并执行数据表操作对应的数据库操作语句。
示例性地,计算机设备根据存储目标数据表的数据库系统所对应的数据库操作语句的拼接方法、以及数据表操作对应的业务逻辑,对待操作字段标识、主键标识和表名标识进行拼接,得到数据表操作对应的数据库操作语句。具体地,可以为针对目标数据表的每个数据表操作,分别创建相应的语句拼接函数,将数据表操作对应的待操作字段标识、主键标识和表名标识作为数据表操作对应的语句拼接函数的输入参数。将数据表操作对应的待操作字段标识、主键标识和表名标识输入数据表操作对应的语句拼接函数,语句拼接函数输入数据表操作对应的数据库操作语句。执行数据表操作对应的数据库操作语句,通过数据表操作语句对待操作字段变量在目标数据表中对应的数据表字段进行处理,得到数据表操作对应的操作结果。例如,当数据表操作为读取操作时,得到的操作结果为待操作字段对应的字段值信息,当数据表操作为删除操作或更新操作时,操作结果为操作成功或操作失败,等等。进而基于数据表操作对应的操作结果,继续完成应用程序对应的整个业务逻辑。
上述数据表操作方法中,通过获取针对目标数据表的数据表操作,进而基于数据表操作对应的待操作字段变量在目标数据表对应的数据表操作对象中对应的字段注解,确定待操作字段变量在目标数据表中对应的待操作字段标识。进而基于数据表操作对象中的表名注解和主键注解,确定目标数据表对应的表名标识和主键标识,进而根据待操作字段标识、主键标识和表名标识,拼接数据表操作对应的数据库操作语句,进而执行数据库操作语句,得到数据表操作对应的操作结果。数据表操作对象包括与目标数据表中的数据表字段对应的字段变量和字段注解、与目标数据表的表名对应的表名注解、以及与目标数据表的主键对应的主键注解。这样,在获取到针对目标数据表的数据表操作时,可以直接从目标数据表对应的数据表操作对象包含的表名注解、主键注解和字段注解中快速解析拼接数据库操作语句所需的表名标识、主键标识和字段标识,减少了一层待操作变量和数据表元数据之间的映射,大幅提升了获取数据表元数据的效率,从而大幅提升动态构建数据库操作语句的效率。
在一个实施例中,如图3所示,数据表操作方法包括:
步骤S302,获取目标数据表对应的元数据集,元数据集包括目标数据表对应的表名标识、目标数据表的主键对应的主键标识、目标数据表中的各个数据表字段分别对应的字段标识。
步骤S304,基于数据表字段对应的字段标识,分别生成各个数据表字段对应的字段变量声明。
步骤S306,将数据表字段对应的字段标识填充至字段注解模板中,分别得到各个数据表字段对应的字段变量声明所对应的字段注解。
步骤S308,将表名标识填充至表名注解模板中得到表名注解,将主键标识填充至主键注解模板中得到主键注解。
步骤S310,基于各个数据表字段分别对应的字段变量声明、各个字段变量声明分别对应的字段注解、表名注解和主键注解,组装目标数据表对应的数据表操作对象。
其中,数据表字段对应的字段变量声明是指将数据表字段封装为一个字段变量的语句。
字段注解模板是指字段注解对应的模板,由字段注解的基础结构对应的文本内容和可替换的字符串组成。例如,字段注解模板可以为“@TableField(name=\"@field \")”,其中,@field为可替换的字符串,在生成字段变量声明对应的字段注解时,用数据表字段对应的字段标识替换@field,得到字段注解。
表名注解模板是指表名注解对应的模板,由表名注解的基础结构对应的文本内容和可替换的字符串组成。例如,表名注解模板可以为“@Table(name=\"@tableName \")”,其中,@tableName为可替换的字符串,在生成目标数据表对应的表名注解时,用目标数据表对应的表名标识替换@tableName,得到表名注解。
主键注解模板是指主键注解对应的模板,由主键注解的基础结构对应的文本内容和可替换的字符串组成,主键注解中可替换的字符串用数据表的主键标识替换。
示例性地,计算机设备获取目标数据表对应的表名标识、目标数据表的主键对应的主键标识、目标数据表中各个数据表字段分别对应的字段标识,得到目标数据表对应的元数据集。进而基于各个数据表字段分别对应的字段标识,生成各个数据表字段分别对应的字段变量声明。针对每个数据表字段对应的字段变量声明,将数据表字段对应的字段标识填充至字段注解模板中,即通过字符串替换函数,用数据表字段对应的字段标识替换字段注解模板中字段标识对应的可替换的字符串,得到数据表字段对应的字段变量声明所对应的字段注解。进而,通过字符串替换函数,用目标数据表对应的表名标识替换表名注解模板中相应的可替换的字符串,得到表名注解,用目标数据表对应的主键标识替换主键注解模板中相应的可替换的字符串,得到主键注解。进而基于各个数据表字段分别对应的字段变量声明、字段变量声明对应的字段注解、表名注解和主键注解,组装目标数据表对应的数据表操作对象。
上述实施例中,通过预先设置字段变量声明对应的字段注解模板、主键模板和数据表模板,在生成目标数据表对应的数据表操作对象时,可以直接将元数据填充至相应的模板中,从而快速准确地得到字段变量声明对应的字段注解、主键注解和表名注解。进而,基于字段变量声明、各个字段变量声明分别对应的字段注解、数据表注解表名注解和主键注解对比对应的代码段,能够快速组合得到目标数据表对应的数据表操作对象。基于数据表操作对象中的字段注解、主键注解和表名注解,能够快速准确地生成数据库操作语句,提高数据表操作的效率。
在一个实施例中,基于数据表字段对应的字段标识,分别生成各个数据表字段对应的字段变量声明,包括:
将数据表字段对应的字段标识填充至字段变量声明模板中,分别得到各个数据表字段对应的字段变量声明。
其中,字段变量声明模板是指变量声明语句对应的模板,由变量声明语句的基础结构对应的文本内容和可替换的字符串组成。
示例性地,计算机设备获取数据表字段对应的字段变量声明模板,将数据表字段对应的字段标识填充至字段变量声明模板中,即用数据表字段对应的字段标识替换字段变量声明模板中字段标识对应的可替换的字符串,用数据表字段对应的变量数据类型替换字段变量声明模板中数据类型对应的可替换的字符串,分别得到各个数据表字段对应的字段变量声明。
上述实施例中,通过预先设置字段变量声明模板,在生成目标数据表对应的数据表操作对象时,可以直接将数据表字段对应的字段标识填充至字段变量声明模板中,从而快速准确地得到数据表字段对应的字段变量声明。
在一个实施例中,将数据表字段对应的字段标识填充至字段变量声明模板中,分别得到各个数据表字段对应的字段变量声明,包括:
获取当前数据表字段对应的数据库数据类型;获取字段变量声明模板对应的开发语言类型所对应的数据类型映射表;从数据类型映射表中,确定数据库数据类型针对开发语言类型的变量数据类型;将当前数据表字段对应的变量数据类型和字段标识填充至字段变量声明模板中,得到当前数据表字段对应的字段变量声明;字段变量声明用于将当前数据表字段封装为变量数据类型的字段变量。
其中,当前数据表字段对应的数据库数据类型是指当前数据表字段在数据表中对应的数据类型。开发语言类型是指软件开发所使用的编程语言的类型,例如,开发语言类型可以是Java、Python等。不同的数据库系统可能使用不同的数据类型,在软件开发的过程中,需要与各种数据库进行交互,为了确保数据的正确解释和处理,需要数据库数据类型转换为开发语言类型所使用的编程语言中相应的数据类型,即变量数据类型。开发语言类型对应的数据类型映射表是指记录了数据库数据类型和变量数据类型之间的映射关系的信息表,即记录了每个数据库数据类型针对开发语言类型的变量数据类型的信息表。例如,当开发语言类型为Java时,数据库数据类型CHAR、VARCHAR、TEXT对应的变量数据类型均为String,数据库数据类型ENUM对应的变量数据类型为String,数据库数据类型INTERVAL对应的变量数据类型为Period,等等。
示例性地,计算机设备将目标数据表包含的各个数据表字段分别作为当前数据表字段。获取当前数据表字段对应的数据库数据类型,以及字段变量声明模板对应的开发语言类型所对应的数据类型映射表。进行从数据类型映射表中查询当前数据表字段的数据库数据类型所对应的变量数据类型。用数据表数据类型对应的变量数据类型替换字段变量声明模板中数据类型所对应的可替换的字符串,用当前数据表字段对应的字段标识替换字段变量声明模板中字段标识所对应的可替换的字符串,得到当前数据表字段对应的字段变量声明。通过字段变量声明,能够将数据表字段声明为变量数据类型的字段变量。
上述实施例中,在封装数据表字段时,对数据表字段进行适应性地数据类型转换,能够保证所生成的数据表操作对象的准确性,即提高数据表操作对象中数据的准确性和兼容性,从而提高后续基于数据表操作对象与数据库进行交互的可靠性,减少应用程序运行时因无效数据导致的错误,提高代码的一致性、可读性和可维护性。
在一个实施例中,将当前数据表字段对应的变量数据类型和字段标识填充至字段变量声明模板中,得到当前数据表字段对应的字段变量声明,包括:
基于字段变量声明模板中的字段标识转换语句,将当前数据表字段对应的字段标识转换为符合变量命名标准的变量标识;将当前数据表字段对应的变量数据类型和变量标识填充至字段变量声明模板中,得到当前数据表字段对应的字段变量声明。
其中,字段标识转换语句是指将字段标识转换为符合变量命名标准的变量标识的语句。变量命名标准可以是自定义的、符合开发语言类型的命名规范的命名规则。例如,当数据表为班级A对应的成绩表时,变量命名标准可以为将字段标识与班级标号组合,得到字段标识对应的变量标识,对于字段标识math,对应的变量标识可以为A_Math。
示例性地,为了提高数据表操作对象的代码可读性和可维护性,在通过字段变量声明模板将数据表字段封装为字段变量时,计算机设备通过字段声明模板中的字段标识转换语句,将当前数据表字段对应的字段标识转换为符合变量命名标准的变量标识。进而用当前数据表字段对应的变量数据类型和变量标识替换字段变量声明模板中相应的可替换的字符串,得到当前数据表字段对应的字段变量声明。
上述实施例中,通过字段标识转换语句将字段标识转换为符合变量命名标准的变量标识,能够避免直接使用数据库字段名作为变量名导致的敏感信息或业务逻辑泄露,提高数据安全性。
在一个实施例中,基于各个数据表字段分别对应的字段变量声明、各个字段变量声明分别对应的字段注解、表名注解和主键注解,组装目标数据表对应的数据表操作对象,包括:
获取多个数据表操作分别对应的方法模板;从各个字段变量声明中确定各个数据表字段分别对应的字段变量标识;将数据表字段对应的字段变量标识分别填充至各个方法模板中,得到数据表字段针对各个数据表操作的数据库操作方法;获取根据开发语言类型对应的数据表封装标准生成的对象模板;将各个数据表字段分别对应的字段变量声明、各个字段变量声明分别对应的字段注解、表名注解、主键注解和各个数据库操作方法填充至对象模板中,得到目标数据表在开发语言类型上对应的数据表操作对象。
其中,方法模板是指数据库操作方法对应的模板,由数据库操作方法的基础结构对应的文本内容和可替换的字符串组成,不同的数据表操作对应的方法模板是不同的。数据库操作方法是指数据表操作对象中提供的用于操作数据表的数据库操作函数,例如,数据库操作方法可以包括写入方法、读取方法、更新方法和删除方法等。在进行软件开发过程中可以直接调用数据表操作对象中定义的数据库操作方法,提高软件开发的效率。
对象模板是指数据表操作对象对应的模板,由数据库操作方法的基础结构对应的文本内容和可替换的字符串组成。开发语言类型对应的数据表封装标准可以是自定义的、符合开发语言类型的数据表操作对象封装规范的封装规则。
示例性地,计算机设备获取多个数据表操作分别对应的方法模板,具体地,数据表操作可以包括读取方法、写入方法和数据校验方法等。获取每个数据表字段在对应的字段变量声明中所对应的字段变量标识。将数据表字段对应的字段变量标识分别填充至各个方法模板中,得到数据表字段针对各个数据表操作分别对应的数据表操作方法。进而根据预先针对当前开发平台对应的开发语言类型配置的、符合开发语言类型对应的数据表封装标准的对象模板。用目标数据表中各个数据表字段分别对应的字段变量声明、各个字段变量声明分别对应的字段注解、各个数据表字段分别对应的数据表操作方法、表名注解、主键注解,分别替换对象模板中对应的字符串,得到目标数据表在开发语言类型上对应的数据表操作对象。
上述实施例中,通过各个数据表操作分别对应的方法模板,将各个数据表操作分别对应的数据库操作方法封装在数据表操作对象中。进而获取对象模板,将各个数据表字段分别对应的字段变量声明、各个字段变量声明分别对应的字段注解、表名注解、主键注解和各个数据库操作方法填充至对象模板中,能够快速准确地得到目标数据表对应的数据表操作对象,提高应用程序开发的效率,还能够使得数据表操作对象的软件代码和数据表之间的结合层次分明,可读性高。
在一个实施例中,计算机设备获取数据表操作对应的语句模板;将待操作字段标识、主键标识和表名标识填充至语句模板中,得到数据表操作对应的数据库操作语句。具体地,,计算机设备获取为数据表操作预先配置的语句模板。数据表操作对应的语句模板是指数据表操作的数据表操作语句对应的模板,由数据表操作语句的基础结构对应的文本内容和可替换的字符串组成。将待操作字段标识、主键标识和表名标识填充至语句模板中,得到数据表操作对应的数据库操作语句。这样,通过为各个数据表操作分别设置相应的语句模板,在获取到数据库操作语句对应的待操作字段标识、主键标识和表名标识等关键元素时,将上述关键元素填充至语句模板中的相应位置,能够快速准确地生成数据表操作对应的数据库操作语句,从而提高数据表操作的效率。
在一个具体的实施例中,本申请提出的数据表操作方法可以应用于反向生成数据表对应的Bean类的场景,通过Bean类中的注解,快速拼装SQL语句。如图4、图5所示,数据表操作方法包括以下步骤:
1、定义注解和模板
计算机设备首先获取定义注解,包括表名注解、字段注解、主键注解。结合注解定义模板,包括字段模板(即字段变量声明模板)、方法模板、Bean类模板。
2、封装数据表
计算机设备获取数据表对应的数据表元数据(Database Meta Data),包括表名、字段名、字段数据类型、主键。将各个字段的从数据库数据类型转换为Java数据类型,利用字段模板封装字段得到各个字段分别对应的字段属性(即字段变量),将字段对应的字段名以注解的方式声明在字段属性的前面,用以对字段属性进行说明、注释。此外,还需以注解的方式声明数据表的表名和主键名。进而利用方法模板结合字段属性,封装对应字段的操作方法。最后利用Bean类模板结合已经封装的字段以及已经封装的方法,封装对应的Bean类源码。利用封装后的Bean文本输出以“.java”结尾的源码文件,得到数据表对应的Bean类。在获取到针对目标数据表的数据表操作时,基于目标数据表对应的Bean类中的字段注解、主键注解与表名注解可以快速生成相应的数据库操作语句。
上述实施例中,根据数据表的元数据反向生成Bean代码,Bean代码携带表名注解、主键注解,字段注解(字段注解与字段属性一一对应),可以快速解析Bean类的注解获得对应的表名,利用字段注解、主键注解与表名注解快速生成增删改查的SQL,代码与数据表元数据一体化,减少中间再映射过程,大幅提升动态获取表元数据的性能,满足快速动态拼装SQL的需求。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据表操作方法的数据表操作装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据表操作装置实施例中的具体限定可以参见上文中对于数据表操作方法的限定,在此不再赘述。
在一个实施例中,如图6所示,提供了一种数据表操作装置,包括:操作获取模块602、第一标识确定模块604、第二标识确定模块606和语句生成模块608,其中:
操作获取模块602,用于获取针对目标数据表的数据表操作。
第一标识确定模块604,用于基于数据表操作对应的待操作字段变量在目标数据表对应的数据表操作对象中对应的字段注解,确定待操作字段变量在目标数据表中对应的待操作字段标识;数据表操作对象是基于目标数据表的元数据生成的,数据表操作对象包括与目标数据表中的数据表字段对应的字段变量和字段注解、与目标数据表的表名对应的表名注解、与目标数据表的主键对应的主键注解。
第二标识确定模块606,用于基于数据表操作对象中的表名注解,确定目标数据表对应的表名标识,基于数据表操作对象中的主键注解,确定目标数据表对应的主键标识。
语句生成模块608,用于基于待操作字段标识、表名标识和主键标识,得到并执行数据表操作对应的数据库操作语句。
在一个实施例中,如图6所示,数据表操作装置还包括:
对象生成模块,用于获取目标数据表对应的元数据集,元数据集包括目标数据表对应的表名标识、目标数据表的主键对应的主键标识、目标数据表中的各个数据表字段分别对应的字段标识;基于数据表字段对应的字段标识,分别生成各个数据表字段对应的字段变量声明;字段变量声明用于将数据表字段封装为字段变量;将数据表字段对应的字段标识填充至字段注解模板中,分别得到各个数据表字段对应的字段变量声明所对应的字段注解;将表名标识填充至表名注解模板中得到表名注解,将主键标识填充至主键注解模板中得到主键注解;基于各个数据表字段分别对应的字段变量声明、各个字段变量声明分别对应的字段注解、表名注解和主键注解,组装目标数据表对应的数据表操作对象。
在一个实施例中,对象生成模块还用于:
将数据表字段对应的字段标识填充至字段变量声明模板中,分别得到各个数据表字段对应的字段变量声明。
在一个实施例中,对象生成模块还用于:
获取当前数据表字段对应的数据库数据类型;获取字段变量声明模板对应的开发语言类型所对应的数据类型映射表;从数据类型映射表中,确定数据库数据类型针对开发语言类型的变量数据类型;将当前数据表字段对应的变量数据类型和字段标识填充至字段变量声明模板中,得到当前数据表字段对应的字段变量声明;字段变量声明用于将当前数据表字段封装为变量数据类型的字段变量。
在一个实施例中,对象生成模块还用于:
基于字段变量声明模板中的字段标识转换语句,将当前数据表字段对应的字段标识转换为符合变量命名标准的变量标识;将当前数据表字段对应的变量数据类型和变量标识填充至字段变量声明模板中,得到当前数据表字段对应的字段变量声明。
在一个实施例中,对象生成模块还用于:
获取多个数据表操作分别对应的方法模板;从各个字段变量声明中确定各个数据表字段分别对应的字段变量标识;将数据表字段对应的字段变量标识分别填充至各个方法模板中,得到数据表字段针对各个数据表操作的数据库操作方法;获取根据开发语言类型对应的数据表封装标准生成的对象模板;将各个数据表字段分别对应的字段变量声明、各个字段变量声明分别对应的字段注解、表名注解、主键注解和各个数据库操作方法填充至对象模板中,得到目标数据表在开发语言类型上对应的数据表操作对象。
上述数据表操作装置,在获取到针对目标数据表的数据表操作时,可以直接从目标数据表对应的数据表操作对象包含的表名注解、主键注解和字段注解中快速解析拼接数据库操作语句所需的表名标识、主键标识和字段标识,减少了一层待操作变量和数据表元数据之间的映射,大幅提升了获取数据表元数据的效率,从而大幅提升动态构建数据库操作语句的效率。
上述数据表操作装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据表操作对象、目标数据表等数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据表操作方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据表操作方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7、8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种数据表操作方法,其特征在于,所述方法包括:
获取针对目标数据表的数据表操作;
基于所述数据表操作对应的待操作字段变量在所述目标数据表对应的数据表操作对象中对应的字段注解,确定所述待操作字段变量在所述目标数据表中对应的待操作字段标识;所述数据表操作对象是基于所述目标数据表的元数据生成的,所述数据表操作对象包括与所述目标数据表中的数据表字段对应的字段变量和字段注解、与所述目标数据表的表名对应的表名注解、与所述目标数据表的主键对应的主键注解;
基于所述数据表操作对象中的表名注解,确定所述目标数据表对应的表名标识,基于所述数据表操作对象中的主键注解,确定所述目标数据表对应的主键标识;
基于所述待操作字段标识、所述表名标识和所述主键标识得到并执行所述数据表操作对应的数据库操作语句。
2.根据权利要求1所述的方法,其特征在于,所述获取针对目标数据表的数据表操作之前,所述方法还包括:
获取所述目标数据表对应的元数据集,所述元数据集包括所述目标数据表对应的表名标识、所述目标数据表的主键对应的主键标识、所述目标数据表中的各个数据表字段分别对应的字段标识;
基于数据表字段对应的字段标识,分别生成所述各个数据表字段对应的字段变量声明;字段变量声明用于将数据表字段封装为字段变量;
将数据表字段对应的字段标识填充至字段注解模板中,分别得到所述各个数据表字段对应的字段变量声明所对应的字段注解;
将所述表名标识填充至表名注解模板中得到表名注解,将所述主键标识填充至主键注解模板中得到主键注解;
基于所述各个数据表字段分别对应的字段变量声明、各个字段变量声明分别对应的字段注解、所述表名注解和所述主键注解,组装所述目标数据表对应的数据表操作对象。
3.根据权利要求2所述的方法,其特征在于,所述基于数据表字段对应的字段标识,分别生成所述各个数据表字段对应的字段变量声明,包括:
将数据表字段对应的字段标识填充至字段变量声明模板中,分别得到所述各个数据表字段对应的字段变量声明。
4.根据权利要求3所述的方法,其特征在于,所述将数据表字段对应的字段标识填充至字段变量声明模板中,分别得到所述各个数据表字段对应的字段变量声明,包括:
获取当前数据表字段对应的数据库数据类型;
获取所述字段变量声明模板对应的开发语言类型所对应的数据类型映射表;
从所述数据类型映射表中,确定所述数据库数据类型针对所述开发语言类型的变量数据类型;
将所述当前数据表字段对应的变量数据类型和字段标识填充至字段变量声明模板中,得到所述当前数据表字段对应的字段变量声明;所述字段变量声明用于将所述当前数据表字段封装为变量数据类型的字段变量。
5.根据权利要求4所述的方法,其特征在于,所述将所述当前数据表字段对应的变量数据类型和字段标识填充至字段变量声明模板中,得到所述当前数据表字段对应的字段变量声明,包括:
基于所述字段变量声明模板中的字段标识转换语句,将所述当前数据表字段对应的字段标识转换为符合变量命名标准的变量标识;
将所述当前数据表字段对应的变量数据类型和变量标识填充至字段变量声明模板中,得到所述当前数据表字段对应的字段变量声明。
6.根据权利要求2所述的方法,其特征在于,所述基于所述各个数据表字段分别对应的字段变量声明、各个字段变量声明分别对应的字段注解、所述表名注解和所述主键注解,组装所述目标数据表对应的数据表操作对象,包括:
获取多个数据表操作分别对应的方法模板;
从所述各个字段变量声明中确定所述各个数据表字段分别对应的字段变量标识;
将数据表字段对应的字段变量标识分别填充至各个方法模板中,得到数据表字段针对各个数据表操作的数据库操作方法;
获取根据开发语言类型对应的数据表封装标准生成的对象模板;
将所述各个数据表字段分别对应的字段变量声明、各个字段变量声明分别对应的字段注解、所述表名注解、所述主键注解和各个数据库操作方法填充至所述对象模板中,得到所述目标数据表在所述开发语言类型上对应的数据表操作对象。
7.一种数据表操作装置,其特征在于,所述装置包括:
操作获取模块,用于获取针对目标数据表的数据表操作;
第一标识确定模块,用于基于所述数据表操作对应的待操作字段变量在所述目标数据表对应的数据表操作对象中对应的字段注解,确定所述待操作字段变量在所述目标数据表中对应的待操作字段标识;所述数据表操作对象是基于所述目标数据表的元数据生成的,所述数据表操作对象包括与所述目标数据表中的数据表字段对应的字段变量和字段注解、与所述目标数据表的表名对应的表名注解、与所述目标数据表的主键对应的主键注解;
第二标识确定模块,基于所述数据表操作对象中的表名注解,确定所述目标数据表对应的表名标识,基于所述数据表操作对象中的主键注解,确定所述目标数据表对应的主键标识;
语句生成模块,用于基于所述待操作字段标识、所述表名标识和所述主键标识得到并执行所述数据表操作对应的数据库操作语句。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202410174208.9A 2024-02-07 2024-02-07 数据表操作方法、装置、计算机设备和存储介质 Pending CN118012873A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410174208.9A CN118012873A (zh) 2024-02-07 2024-02-07 数据表操作方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410174208.9A CN118012873A (zh) 2024-02-07 2024-02-07 数据表操作方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN118012873A true CN118012873A (zh) 2024-05-10

Family

ID=90949681

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410174208.9A Pending CN118012873A (zh) 2024-02-07 2024-02-07 数据表操作方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN118012873A (zh)

Similar Documents

Publication Publication Date Title
US9128996B2 (en) Uniform data model and API for representation and processing of semantic data
US7610548B1 (en) Method and apparatus for applying locale behaviors to regions of a form
US20210357577A1 (en) Logical, recursive definition of data transformations
CN104881275A (zh) 一种电子报表生成方法及装置
CN106648569B (zh) 目标序列化实现方法和装置
KR20140067018A (ko) 메타데이터를 이용하여 운영 체제의 네이티브 애플리케이션 프로그래밍 인터페이스를 기술하는 기법
CN112930529A (zh) 从概念数据模型生成软件工件
CN113448562B (zh) 一种逻辑代码自动生成方法、装置和电子设备
CN110889013B (zh) 一种基于xml的数据关联方法、装置、服务器及存储介质
US10241899B2 (en) Test input information search device and method
CN113687827B (zh) 基于微件的数据列表生成方法、装置、设备及存储介质
US11977473B2 (en) Providing a pseudo language for manipulating complex variables of an orchestration flow
CN115629763A (zh) 目标代码的生成方法、npu指令的显示方法及装置
CN113254455B (zh) 数据库的动态配置方法、装置、计算机设备及存储介质
CN118012873A (zh) 数据表操作方法、装置、计算机设备和存储介质
US20160321223A1 (en) Visualization interface for information object system
US20230334069A1 (en) Cross-platform content management
CN117453548B (zh) 代码模块信息确定方法、装置、计算机设备和存储介质
CN118200407A (zh) 报文代码的生成方法、装置、计算机设备和可读存储介质
Jordan Mastering the SAS DS2 Procedure: Advanced Data-Wrangling Techniques, (Hardcover edition)
CN117010358A (zh) 消息卡片生成方法、装置、计算机设备和存储介质
CN114327435A (zh) 技术文档生成方法、装置、计算机可读存储介质
CN117973322A (zh) 序列化方法和装置、反序列化方法和装置、计算机设备
CN117407002A (zh) 代码转换方法、装置、计算机设备和存储介质
CN118151932A (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