CN113190218A - 目标操作函数的生成方法和装置 - Google Patents
目标操作函数的生成方法和装置 Download PDFInfo
- Publication number
- CN113190218A CN113190218A CN202110470114.2A CN202110470114A CN113190218A CN 113190218 A CN113190218 A CN 113190218A CN 202110470114 A CN202110470114 A CN 202110470114A CN 113190218 A CN113190218 A CN 113190218A
- Authority
- CN
- China
- Prior art keywords
- template
- operation function
- function
- configuration file
- configuration information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000006870 function Effects 0.000 claims abstract description 327
- 238000012545 processing Methods 0.000 claims abstract description 23
- 238000012217 deletion Methods 0.000 claims description 19
- 230000037430 deletion Effects 0.000 claims description 19
- 238000003780 insertion Methods 0.000 claims description 15
- 230000037431 insertion Effects 0.000 claims description 15
- 238000011161 development Methods 0.000 abstract description 21
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/311—Functional or applicative languages; Rewrite languages
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种目标操作函数的生成方法和装置。其中,该方法包括:获取配置文件;从操作模板库中确定待使用的操作模板,其中,操作模板库包括:不同类型的操作语句构建的操作模板;对配置文件与待使用的操作模板进行处理,生成目标操作函数,其中,目标操作函数为C语言的数据库操作函数。本发明解决了相关技术中采用手工编写的C语言的数据库操作函数,导致开发成本较高以及开发效率较低的技术问题。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种目标操作函数的生成方法和装置。
背景技术
目前有一些数据库自动生成工具,通过简单的配置数据源,可以用来生成java等面向对象语言的基础的类库。例如,现有的数据库操作生成工具大多都是生成java、c#等其他语言的类库,均是基于面向对象语言生成数据库表的类,不能生成C语言操作函数。在传统C语言项目中大多为手工编写的数据库操作函数,例如,开发人员根据不同的数据库操作需求进行手工编写,且每个开发人员编写出来的操作函数格式各不相同。这些人为的编写这些操作函数,极易出错,开发效率低,还会提高开发成本。另外,在C语言项目开发中,需要使用大量的数据库操作函数,因没有相关的代码生成工具,在数据库表结构发生变更时,需要手工修改,容易漏改错改,也会极大的降低开发效率。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种目标操作函数的生成方法和装置,以至少解决相关技术中采用手工编写的C语言的数据库操作函数,导致开发成本较高以及开发效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种目标操作函数的生成方法,包括:获取配置文件;从操作模板库中确定待使用的操作模板,其中,所述操作模板库包括:不同类型的操作语句构建的操作模板;对所述配置文件与所述待使用的操作模板进行处理,生成目标操作函数,其中,所述目标操作函数为C语言的数据库操作函数。
可选地,在所述配置文件为表结构配置文件时,对所述配置文件与所述待使用的操作模板进行处理,生成目标操作函数,包括以下至少之一:获取所述表结构配置文件的第一配置信息,并使用所述待使用的操作模板,生成以表结构体为参数的默认函数,其中,所述第一配置信息至少包括:表字段名、表字段类型、表字段是否必输、表字段是否有默认值;获取所述表结构配置文件的第二配置信息,并使用所述待使用的操作模板,生成以表结构体为参数的主键相关操作函数,其中,所述第二配置信息至少包括:主键字段、表字段类型;获取所述表结构配置文件的第三配置信息,并使用所述待使用的操作模板,生成以表结构体为参数的索引相关操作函数,其中,所述第三配置信息至少包括:表的索引名、索引字段、表字段类型。
可选地,获取所述表结构配置文件的第一配置信息,并使用所述待使用的操作模板,生成以表结构体为参数的默认函数,包括:依据所述第一配置信息以及插入模板,得到的所述默认函数为表插入函数;依据所述第一配置信息以及单记录查询模板,得到的所述默认函数为表总记录数查询操作函数。
可选地,获取所述表结构配置文件的第二配置信息,并使用所述待使用的操作模板,生成以表结构体为参数的主键相关操作函数,包括:依据所述第二配置信息以及单记录查询模板,得到的所述主键相关操作函数为主键查询操作函数;依据所述第二配置信息以及更新记录模板,得到的所述主键相关操作函数为主键更新操作函数;依据所述第二配置信息以及删除记录模板,得到的所述主键相关操作函数为主键删除操作函数。
可选地,获取所述表结构配置文件的第三配置信息,并使用所述待使用的操作模板,生成以表结构体为参数的索引相关操作函数,包括:依据所述第三配置信息以及多记录查询模板,得到的所述索引相关操作函数为索引查询操作函数;依据所述第三配置信息以及更新记录模板,得到的所述索引相关操作函数为索引更新操作函数;依据所述第三配置信息以及删除记录模板,得到的所述索引相关操作函数为索引删除操作函数;依据所述第三配置信息以及单记录查询模板,得到的所述索引相关操作函数为索引查询记录数操作函数。
可选地,在获取配置文件之前,还包括:获取数据库系统表中待生成表的配置信息,将所述待生成表的配置信息写入表结构配置文件,其中,所述待生成表的配置信息至少包括:表字段名、表字段类型、表字段是否必输、表字段是否有默认值、表的主键名、主键字段、表的索引名、索引字段。
可选地,在所述配置文件为自定义函数配置文件时,对所述配置文件与所述待使用的操作模板进行处理,生成目标操作函数,包括以下至少之一:获取所述自定义函数配置文件的查询条件的字段和排序的字段,并使用多记录查询模板,生成自定义查询操作函数;获取所述自定义函数配置文件的更新的字段和更新的条件字段,并使用更新记录模板,生成自定义更新操作函数;获取所述自定义函数配置文件的自定义的查询条件语句,并使用多记录查询模板,生成自定义条件查询单表操作函数;获取所述自定义函数配置文件的自定义的查询结果和查询语句,并使用多记录查询模板,生成自定义查询结果集与查询条件的操作函数。
根据本发明实施例的另一方面,还提供了一种目标操作函数的生成装置,包括:获取模块,用于获取配置文件;确定模块,用于从操作模板库中确定待使用的操作模板,其中,所述操作模板库包括:不同类型的操作语句构建的操作模板;生成模块,用于对所述配置文件与所述待使用的操作模板进行处理,生成目标操作函数,其中,所述目标操作函数为C语言的数据库操作函数。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行上述中任意一项所述的目标操作函数的生成方法。
根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述中任意一项所述的目标操作函数的生成方法。
在本发明实施例中,采用获取配置文件;从操作模板库中确定待使用的操作模板,其中,操作模板库包括:不同类型的操作语句构建的操作模板;对配置文件与待使用的操作模板进行处理,生成目标操作函数,其中,目标操作函数为C语言的数据库操作函数,通过对获取的配置文件与操作模板库中的待使用的操作模板处理生成目标操作函数,达到了自动生成C语言的数据库操作函数的目的,从而实现了降低开发成本,提高开发效率的技术效果,进而解决了相关技术中采用手工编写的C语言的数据库操作函数,导致开发成本较高以及开发效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的目标操作函数的生成方法的流程图;
图2是根据本发明可选实施例的目标SQL函数的生成的示意图;
图3是根据本发明可选实施例的函数的部署的示意图;
图4是根据本发明实施例的目标操作函数的生成装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,下面对本发明中出现的部分名词或术语进行详细说明。
postgreSQL:是一个自由的对象-关系数据库服务器(数据库管理系统),它在灵活的BSD-风格许可证下发行。
ecpg:是postgreSQL数据库的嵌入式sql语法。
实施例1
根据本发明实施例,提供了一种目标操作函数的生成方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的目标操作函数的生成方法的流程图,如图1所示,该目标操作函数的生成方法包括如下步骤:
步骤S102,获取配置文件;
上述配置文件包括但不限于表结构配置文件、自定义函数配置文件等,其中,配置文件中包含配置信息,配置信息包括但不限于表字段名、表字段类型、表字段是否必输、表字段是否有默认值、表的主键名、主键字段、表的索引名、索引字段等。在具体实施过程中,不同配置文件中的配置信息可以采用预先设置或者默认设置两种不同的方式进行配置。
步骤S104,从操作模板库中确定待使用的操作模板,其中,操作模板库包括:不同类型的操作语句构建的操作模板;
上述操作模板库中包括多个操作模板,例如,插入模板、单记录查询模板、更新记录模板、删除记录模板、多记录查询模板等,在具体实施过程中并不局限于上述所描述的操作模板。另外,还可以根据应用实际需求增加或者删除操作模板库中的操作模板,使其不断更新,提升操作模板库的可用性。需要说明的是,上述待使用的操作模板可以根据所需要生成目标操作函数而确定。
步骤S106,对配置文件与待使用的操作模板进行处理,生成目标操作函数,其中,目标操作函数为C语言的数据库操作函数。
对配置文件与待使用的操作模板进行处理,生成目标操作函数包括:获取配置文件中的配置信息,并使用待使用的操作模板,以自动生成C语言的数据库操作函数。
通过上述步骤,可以通过对获取的配置文件与操作模板库中的待使用的操作模板处理生成目标操作函数,达到了自动生成C语言的数据库操作函数的目的,从而实现了降低开发成本,提高开发效率的技术效果,进而解决了相关技术中采用手工编写的C语言的数据库操作函数,导致开发成本较高以及开发效率较低的技术问题。
可选地,在配置文件为表结构配置文件时,对配置文件与待使用的操作模板进行处理,生成目标操作函数,包括以下至少之一:获取表结构配置文件的第一配置信息,并使用待使用的操作模板,生成以表结构体为参数的默认函数,其中,第一配置信息至少包括:表字段名、表字段类型、表字段是否必输、表字段是否有默认值;获取表结构配置文件的第二配置信息,并使用待使用的操作模板,生成以表结构体为参数的主键相关操作函数,其中,第二配置信息至少包括:主键字段、表字段类型;获取表结构配置文件的第三配置信息,并使用待使用的操作模板,生成以表结构体为参数的索引相关操作函数,其中,第三配置信息至少包括:表的索引名、索引字段、表字段类型。
在配置文件为表结构配置文件时,可以根据表结构配置文件的配置信息与不同的操作模板相结合,生成目标操作函数,其中,该目标操作函数包括但不限于以表结构体为参数的默认函数、以表结构体为参数的主键相关操作函数、以表结构体为参数的索引相关操作函数等。
在具体实施过程中,可以获取表结构配置文件的表字段名、表字段类型、表字段是否必输、表字段是否有默认值等配置信息,并使用待使用的操作模板,生成以表结构体为参数的默认函数;可以获取表结构配置文件的主键字段、表字段类型等配置信息,并使用待使用的操作模板,生成以表结构体为参数的主键相关操作函数;还可以获取表结构配置文件的表的索引名、索引字段、表字段类型等配置信息,并使用待使用的操作模板,生成以表结构体为参数的索引相关操作函数。
通过上述实施方式,可以使用表结构配置文件对应的配置信息与不同得操作模板结合,自动生成不同类型的目标操作函数。
可选地,获取表结构配置文件的第一配置信息,并使用待使用的操作模板,生成以表结构体为参数的默认函数,包括:依据第一配置信息以及插入模板,得到的默认函数为表插入函数;依据第一配置信息以及单记录查询模板,得到的默认函数为表总记录数查询操作函数。
上述第一配置信息包括但不限于表字段名、表字段类型、表字段是否必输、表字段是否有默认值等,上述默认函数包括但不限于表插入函数、表总记录数查询操作函数等。在具体实施过程中,可以根据表结构配置文件的表字段名、表字段类型、表字段是否必输、表字段是否有默认值等配置信息以及插入模板,得到的默认函数为表插入函数;还可以根据表结构配置文件的表字段名、表字段类型、表字段是否必输、表字段是否有默认值等配置信息以及单记录查询模板,得到的默认函数为表总记录数查询操作函数。需要说明的是,上述默认函数均是以表结构体为参数的操作函数。通过上述实施方式,可以快速生成以表结构体为参数的默认函数。
可选地,获取表结构配置文件的第二配置信息,并使用待使用的操作模板,生成以表结构体为参数的主键相关操作函数,包括:依据第二配置信息以及单记录查询模板,得到的主键相关操作函数为主键查询操作函数;依据第二配置信息以及更新记录模板,得到的主键相关操作函数为主键更新操作函数;依据第二配置信息以及删除记录模板,得到的主键相关操作函数为主键删除操作函数。
上述第二配置信息包括但不限于主键字段、表字段类型等,上述主键相关操作函数包括但不限于主键查询操作函数、主键更新操作函数、主键删除操作函数等。在具体实施过程中,可以根据表结构配置文件的主键字段、表字段类型等配置信息以及单记录查询模板,得到的主键相关操作函数为主键查询操作函数;可以根据表结构配置文件的主键字段、表字段类型等配置信息以及更新记录模板,得到的主键相关操作函数为主键更新操作函数;还可以根据表结构配置文件的主键字段、表字段类型等配置信息以及删除记录模板,得到的主键相关操作函数为主键删除操作函数。需要说明的是,上述主键相关操作函数均是以表结构体为参数的操作函数。通过上述实施方式,可以快速生成以表结构体为参数的主键相关操作函数。
可选地,获取表结构配置文件的第三配置信息,并使用待使用的操作模板,生成以表结构体为参数的索引相关操作函数,包括:依据第三配置信息以及多记录查询模板,得到的索引相关操作函数为索引查询操作函数;依据第三配置信息以及更新记录模板,得到的索引相关操作函数为索引更新操作函数;依据第三配置信息以及删除记录模板,得到的索引相关操作函数为索引删除操作函数;依据第三配置信息以及单记录查询模板,得到的索引相关操作函数为索引查询记录数操作函数。
上述第三配置信息包括但不限于表的索引名、索引字段、表字段类型等,上述索引相关操作函数包括但不限于索引查询操作函数、索引更新操作函数、索引删除操作函数、索引查询记录数操作函数等。在具体实施过程中,可以根据表结构配置文件的表的索引名、索引字段、表字段类型等配置信息以及多记录查询模板,得到的索引相关操作函数为索引查询操作函数;可以根据表结构配置文件的表的索引名、索引字段、表字段类型等配置信息以及更新记录模板,得到的索引相关操作函数为索引更新操作函数;可以根据表结构配置文件的表的索引名、索引字段、表字段类型等配置信息以及删除记录模板,得到的索引相关操作函数为索引删除操作函数;还可以根据表结构配置文件的表的索引名、索引字段、表字段类型等配置信息以及单记录查询模板,得到的索引相关操作函数为索引查询记录数操作函数。需要说明的是,上述索引相关操作函数均是以表结构体为参数的操作函数。通过上述实施方式,可以快速生成以表结构体为参数的索引相关操作函数。
可选地,在获取配置文件之前,还包括:获取数据库系统表中待生成表的配置信息,将待生成表的配置信息写入表结构配置文件,其中,待生成表的配置信息至少包括:表字段名、表字段类型、表字段是否必输、表字段是否有默认值、表的主键名、主键字段、表的索引名、索引字段。
上述待生成表的配置信息包括但必不限于表字段名、表字段类型、表字段是否必输、表字段是否有默认值、表的主键名、主键字段、表的索引名、索引字段等。在具体实施过程中,可以从数据库系统表中获取待生成表的配置信息,并将待生成表的配置信息写入表结构配置文件。由于表结构配置文件中包含这些配置信息,便于后续提取使用这些配置信息。
可选地,在配置文件为自定义函数配置文件时,对配置文件与待使用的操作模板进行处理,生成目标操作函数,包括以下至少之一:获取自定义函数配置文件的查询条件的字段和排序的字段,并使用多记录查询模板,生成自定义查询操作函数;获取自定义函数配置文件的更新的字段和更新的条件字段,并使用更新记录模板,生成自定义更新操作函数;获取自定义函数配置文件的自定义的查询条件语句,并使用多记录查询模板,生成自定义条件查询单表操作函数;获取自定义函数配置文件的自定义的查询结果和查询语句,并使用多记录查询模板,生成自定义查询结果集与查询条件的操作函数。
在配置文件为自定义函数配置文件时,可以根据自定义函数配置文件的配置信息与不同的操作模板相结合,生成目标操作函数,其中,该目标操作函数包括但不限于自定义查询操作函数、自定义更新操作函数、自定义条件查询单表操作函数以及自定义查询结果集与查询条件的操作函数等。
在具体实施过程中,可以根据获取自定义函数配置文件的查询条件的字段和排序的字段,并使用多记录查询模板,生成自定义查询操作函数;可以根据获取自定义函数配置文件的更新的字段和更新的条件字段,并使用更新记录模板,生成自定义更新操作函数;可以根据获取自定义函数配置文件的自定义的查询条件语句,并使用多记录查询模板,生成自定义条件查询单表操作函数;可以根据获取自定义函数配置文件的自定义的查询结果和查询语句,并使用多记录查询模板,生成自定义查询结果集与查询条件的操作函数。
通过上述实施方式,可以使用自定义函数配置文件对应的配置信息与不同得操作模板结合,自动生成不同类型的目标操作函数。
下面对本发明一种可选的实施方式进行详细说明。
在该实施方式中,可以使用python语言(也可使用其他语言)进行开发,模板可支持postgreSQL的ecpg语法及oracle的pro*C语法,包括两个部分:目标SQL函数的生成和函数的部署。图2是根据本发明可选实施例的目标SQL函数的生成的示意图,如图2所示,在生成函数过程中,可以根据表结构配置、自定义函数配置结合生成函数工具调用的操作模板生成相应的操作函数。
使用ecpg操作数据库基础模板为:
以下详细介绍各模块依赖的信息及生成采用的模板:
1)表结构信息的配置文件生成方法
生成表结构配置信息:读取数据库系统表中待生成表的表字段名,表字段类型,表字段是否必输,表字段是否有默认值,表的主键名及主键字段,表的索引名及索引字段。并将信息写入到文件中,供后续生成操作函数时读取。
2)表结构的C结构体生成方法
读取数据库表结构配置文件中的表字段名,表字段类型生成C语言数据库表结构体,格式为:
3)生成表插入函数方法
读取数据库表结构配置文件中的表字段名、表字段类型、是否必输、是否有默认值信息,使用上述介绍的插入模板组合生成通过传入参数表结构的结构体的插入操作函数。
4)生成表总记录数查询的操作函数方法
使用上述介绍的单记录查询模板基础的生成传出参数为表总记录数的操作函数。
5)主键相关操作函数生成方法
5.1)生成通过主键查询的操作函数方法
读取数据库表结构配置文件中的主键字段及各字段的类型,使用上述介绍的单记录查询模板生成以表结构体为参数的操作函数。
5.2)生成通过主键更新的操作函数方法
读取数据库表结构配置文件中的主键字段及各字段的类型,使用上述介绍的更新记录模板生成以表结构体为参数的操作函数。
5.3)生成通过主键删除的操作函数方法
读取数据库表结构配置文件中的主键字段及各字段的类型,使用上述介绍的删除记录模板生成以表结构体为参数的操作函数。
6)索引相关操作函数生成方法
6.1)生成通过索引查询的操作函数方法
读取数据库表结构配置文件中的索引名、索引字段及各字段的类型,使用上述介绍的多记录查询模板生成操作函数。
6.2)生成通过索引更新的操作函数方法
读取数据库表结构配置文件中的索引名、索引字段及各字段的类型,使用上述介绍的更新记录模板生成操作函数。
6.3)生成通过索引删除的操作函数方法
读取数据库表结构配置文件中的索引名、索引字段及各字段的类型,使用上述介绍的删除记录模板生成以表结构体为参数的操作函数。
6.4)生成通过索引查询记录数的操作函数方法
读取数据库表结构配置文件中的索引名、索引字段及各字段的类型,使用上述介绍的单记录查询模板生成操作函数。
以上操作均为根据数据库表结构相关信息默认自动生成,以下操作为开发人员配置相关的操作后进行自定义生成。
7)自定义查询条件,排序条件(可选)的查询函数生成方法,通过配置查询条件的字段及排序的字段使用上述介绍的多记录查询模板生成操作函数。
8)自定义更新字段,更新条件的更新函数生成方法,通过配置更新的字段及更新的条件字段使用的更新记录模板生成操作函数。
9)自定义条件查询单表操作函数生成方法,通过配置自定义的查询条件语句使用上述介绍的多记录查询模板生成操作函数。
10)自定义查询结果集,查询条件的操作函数生成方法,通过配置自定义的查询结果及查询语句使用上述介绍的多记录查询模板生成操作函数。
该方式因可以自定义查询结果集及查询条件,所以可以配置更加灵活,如支持表关联查询,表的相关字段统计等操作。
图3是根据本发明可选实施例的函数的部署的示意图,如图3所示。在生成目标操作函数后,该实施方式还能够根据模板的配置,执行make命令将文件编译为静态库和动态库,在程序中直接调用相关的函数即可实现操作数据库。
在上述实施方式中,具有以下优势:
1、C语言系统可以使用本套统一数据库操作函数进行数据库相关操作,使得项目代码干净、整洁,实现业务处理与数据操作的分层。
2、仅需要简单的配置,即可自动生成相关的操作函数,降低了开发成本。
3、当数据库变更时仅需要重新生成相关函数即可,避免了因数据库变更导致需要手工修改的操作,降低了维护成本。
4、在审查数据库操作效率时可以之间从配置文件入手进行检查,不需要去审查代码。
实施例2
根据本发明实施例的另一方面,还提供了一种目标操作函数的生成装置,图4是根据本发明实施例的目标操作函数的生成装置的示意图,如图4所示,该目标操作函数的生成装置包括:获取模块42、确定模块44和生成模块46。下面对该目标操作函数的生成装置进行详细说明。
获取模块42,用于获取配置文件;确定模块44,连接至上述获取模块42,用于从操作模板库中确定待使用的操作模板,其中,操作模板库包括:不同类型的操作语句构建的操作模板;生成模块46,连接至上述确定模块44,用于对配置文件与待使用的操作模板进行处理,生成目标操作函数,其中,目标操作函数为C语言的数据库操作函数。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;和/或,上述各个模块以任意处理的方式位于不同的处理器中。
在上述实施例中,该目标操作函数的生成装置可以通过对获取的配置文件与操作模板库中的待使用的操作模板处理生成目标操作函数,达到了自动生成C语言的数据库操作函数的目的,从而实现了降低开发成本,提高开发效率的技术效果,进而解决了相关技术中采用手工编写的C语言的数据库操作函数,导致开发成本较高以及开发效率较低的技术问题。
此处需要说明的是,上述获取模块42、确定模块44和生成模块46对应于实施例1中的步骤S102至S106,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
可选地,在配置文件为表结构配置文件时,上述生成模块46包括以下至少之一:第一生成单元,用于获取表结构配置文件的第一配置信息,并使用待使用的操作模板,生成以表结构体为参数的默认函数,其中,第一配置信息至少包括:表字段名、表字段类型、表字段是否必输、表字段是否有默认值;第二生成单元,用于获取表结构配置文件的第二配置信息,并使用待使用的操作模板,生成以表结构体为参数的主键相关操作函数,其中,第二配置信息至少包括:主键字段、表字段类型;第三生成单元,用于获取表结构配置文件的第三配置信息,并使用待使用的操作模板,生成以表结构体为参数的索引相关操作函数,其中,第三配置信息至少包括:表的索引名、索引字段、表字段类型。
可选地,上述第一生成单元包括:第一得到子单元,用于依据第一配置信息以及插入模板,得到的默认函数为表插入函数;第二得到子单元,用于依据第一配置信息以及单记录查询模板,得到的默认函数为表总记录数查询操作函数。
可选地,上述第二生成单元包括:第三得到子单元,用于依据第二配置信息以及单记录查询模板,得到的主键相关操作函数为主键查询操作函数;第四得到子单元,用于依据第二配置信息以及更新记录模板,得到的主键相关操作函数为主键更新操作函数;第五得到子单元,用于依据第二配置信息以及删除记录模板,得到的主键相关操作函数为主键删除操作函数。
可选地,上述第三生成单元包括:第六得到子单元,用于依据第三配置信息以及多记录查询模板,得到的索引相关操作函数为索引查询操作函数;第七得到子单元,用于依据第三配置信息以及更新记录模板,得到的索引相关操作函数为索引更新操作函数;第八得到子单元,用于依据第三配置信息以及删除记录模板,得到的索引相关操作函数为索引删除操作函数;第九得到子单元,用于依据第三配置信息以及单记录查询模板,得到的索引相关操作函数为索引查询记录数操作函数。
可选地,上述装置还包括:写入模块,用于在获取配置文件之前,获取数据库系统表中待生成表的配置信息,将待生成表的配置信息写入表结构配置文件,其中,待生成表的配置信息至少包括:表字段名、表字段类型、表字段是否必输、表字段是否有默认值、表的主键名、主键字段、表的索引名、索引字段。
可选地,在配置文件为自定义函数配置文件时,上述生成模块46包括以下至少之一:第四生成单元,用于获取自定义函数配置文件的查询条件的字段和排序的字段,并使用多记录查询模板,生成自定义查询操作函数;第五生成单元,用于获取自定义函数配置文件的更新的字段和更新的条件字段,并使用更新记录模板,生成自定义更新操作函数;第六生成单元,用于获取自定义函数配置文件的自定义的查询条件语句,并使用多记录查询模板,生成自定义条件查询单表操作函数;第七生成单元,用于获取自定义函数配置文件的自定义的查询结果和查询语句,并使用多记录查询模板,生成自定义查询结果集与查询条件的操作函数。
实施例3
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,该计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述中任意一项的目标操作函数的生成方法。
可选地,在本实施例中,上述计算机可读存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,和/或位于移动终端群中的任意一个移动终端中,上述计算机可读存储介质包括存储的程序。
可选地,在程序运行时控制计算机可读存储介质所在设备执行以下功能:获取配置文件;从操作模板库中确定待使用的操作模板,其中,操作模板库包括:不同类型的操作语句构建的操作模板;对配置文件与待使用的操作模板进行处理,生成目标操作函数,其中,目标操作函数为C语言的数据库操作函数。
实施例4
根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行上述中任意一项的目标操作函数的生成方法。
本发明实施例提供了一种设备,该设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取配置文件;从操作模板库中确定待使用的操作模板,其中,操作模板库包括:不同类型的操作语句构建的操作模板;对配置文件与待使用的操作模板进行处理,生成目标操作函数,其中,目标操作函数为C语言的数据库操作函数。
本发明还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取配置文件;从操作模板库中确定待使用的操作模板,其中,操作模板库包括:不同类型的操作语句构建的操作模板;对配置文件与待使用的操作模板进行处理,生成目标操作函数,其中,目标操作函数为C语言的数据库操作函数。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种目标操作函数的生成方法,其特征在于,包括:
获取配置文件;
从操作模板库中确定待使用的操作模板,其中,所述操作模板库包括:不同类型的操作语句构建的操作模板;
对所述配置文件与所述待使用的操作模板进行处理,生成目标操作函数,其中,所述目标操作函数为C语言的数据库操作函数。
2.根据权利要求1所述的方法,其特征在于,在所述配置文件为表结构配置文件时,对所述配置文件与所述待使用的操作模板进行处理,生成目标操作函数,包括以下至少之一:
获取所述表结构配置文件的第一配置信息,并使用所述待使用的操作模板,生成以表结构体为参数的默认函数,其中,所述第一配置信息至少包括:表字段名、表字段类型、表字段是否必输、表字段是否有默认值;
获取所述表结构配置文件的第二配置信息,并使用所述待使用的操作模板,生成以表结构体为参数的主键相关操作函数,其中,所述第二配置信息至少包括:主键字段、表字段类型;
获取所述表结构配置文件的第三配置信息,并使用所述待使用的操作模板,生成以表结构体为参数的索引相关操作函数,其中,所述第三配置信息至少包括:表的索引名、索引字段、表字段类型。
3.根据权利要求2所述的方法,其特征在于,获取所述表结构配置文件的第一配置信息,并使用所述待使用的操作模板,生成以表结构体为参数的默认函数,包括:
依据所述第一配置信息以及插入模板,得到的所述默认函数为表插入函数;
依据所述第一配置信息以及单记录查询模板,得到的所述默认函数为表总记录数查询操作函数。
4.根据权利要求2所述的方法,其特征在于,获取所述表结构配置文件的第二配置信息,并使用所述待使用的操作模板,生成以表结构体为参数的主键相关操作函数,包括:
依据所述第二配置信息以及单记录查询模板,得到的所述主键相关操作函数为主键查询操作函数;
依据所述第二配置信息以及更新记录模板,得到的所述主键相关操作函数为主键更新操作函数;
依据所述第二配置信息以及删除记录模板,得到的所述主键相关操作函数为主键删除操作函数。
5.根据权利要求2所述的方法,其特征在于,获取所述表结构配置文件的第三配置信息,并使用所述待使用的操作模板,生成以表结构体为参数的索引相关操作函数,包括:
依据所述第三配置信息以及多记录查询模板,得到的所述索引相关操作函数为索引查询操作函数;
依据所述第三配置信息以及更新记录模板,得到的所述索引相关操作函数为索引更新操作函数;
依据所述第三配置信息以及删除记录模板,得到的所述索引相关操作函数为索引删除操作函数;
依据所述第三配置信息以及单记录查询模板,得到的所述索引相关操作函数为索引查询记录数操作函数。
6.根据权利要求2至5中任一项所述的方法,其特征在于,在获取配置文件之前,还包括:
获取数据库系统表中待生成表的配置信息,将所述待生成表的配置信息写入表结构配置文件,其中,所述待生成表的配置信息至少包括:表字段名、表字段类型、表字段是否必输、表字段是否有默认值、表的主键名、主键字段、表的索引名、索引字段。
7.根据权利要求1所述的方法,其特征在于,在所述配置文件为自定义函数配置文件时,对所述配置文件与所述待使用的操作模板进行处理,生成目标操作函数,包括以下至少之一:
获取所述自定义函数配置文件的查询条件的字段和排序的字段,并使用多记录查询模板,生成自定义查询操作函数;
获取所述自定义函数配置文件的更新的字段和更新的条件字段,并使用更新记录模板,生成自定义更新操作函数;
获取所述自定义函数配置文件的自定义的查询条件语句,并使用多记录查询模板,生成自定义条件查询单表操作函数;
获取所述自定义函数配置文件的自定义的查询结果和查询语句,并使用多记录查询模板,生成自定义查询结果集与查询条件的操作函数。
8.一种目标操作函数的生成装置,其特征在于,包括:
获取模块,用于获取配置文件;
确定模块,用于从操作模板库中确定待使用的操作模板,其中,所述操作模板库包括:不同类型的操作语句构建的操作模板;
生成模块,用于对所述配置文件与所述待使用的操作模板进行处理,生成目标操作函数,其中,所述目标操作函数为C语言的数据库操作函数。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至7中任意一项所述的目标操作函数的生成方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的目标操作函数的生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110470114.2A CN113190218A (zh) | 2021-04-28 | 2021-04-28 | 目标操作函数的生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110470114.2A CN113190218A (zh) | 2021-04-28 | 2021-04-28 | 目标操作函数的生成方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113190218A true CN113190218A (zh) | 2021-07-30 |
Family
ID=76980177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110470114.2A Pending CN113190218A (zh) | 2021-04-28 | 2021-04-28 | 目标操作函数的生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113190218A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703739A (zh) * | 2021-09-03 | 2021-11-26 | 上海森亿医疗科技有限公司 | 基于omiga引擎的跨语言融合计算方法、系统及终端 |
CN115495442A (zh) * | 2022-11-16 | 2022-12-20 | 深圳市明源云采购科技有限公司 | 数据库操作文件生成方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030004979A1 (en) * | 2001-06-29 | 2003-01-02 | John Woodring | Data object generator and method of use |
CN105354036A (zh) * | 2015-11-26 | 2016-02-24 | 深圳市金证科技股份有限公司 | 数据库操作代码生成方法及装置 |
CN105677323A (zh) * | 2015-12-31 | 2016-06-15 | 合肥大多数信息科技有限公司 | 一种自动生成数据库操作层代码的方法 |
CN109739493A (zh) * | 2019-01-18 | 2019-05-10 | 宜创(北京)科技有限公司 | 数据库操作语句的生成方法、装置、电子设备及存储介质 |
CN111796810A (zh) * | 2020-07-03 | 2020-10-20 | 福建天晴在线互动科技有限公司 | 一种可配置化快速生成Mysql数据库代码的方法及其系统 |
CN111966707A (zh) * | 2020-08-21 | 2020-11-20 | 北京明略昭辉科技有限公司 | 查询语句生成方法、装置、电子设备和计算机可读介质 |
CN112015831A (zh) * | 2020-09-09 | 2020-12-01 | 深圳市绿联科技有限公司 | 基于c语言对关系型数据库进行操作的方法、装置及设备 |
CN112631567A (zh) * | 2020-12-30 | 2021-04-09 | 中国农业银行股份有限公司 | 一种生成数据库操作文件的方法及装置 |
-
2021
- 2021-04-28 CN CN202110470114.2A patent/CN113190218A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030004979A1 (en) * | 2001-06-29 | 2003-01-02 | John Woodring | Data object generator and method of use |
CN105354036A (zh) * | 2015-11-26 | 2016-02-24 | 深圳市金证科技股份有限公司 | 数据库操作代码生成方法及装置 |
CN105677323A (zh) * | 2015-12-31 | 2016-06-15 | 合肥大多数信息科技有限公司 | 一种自动生成数据库操作层代码的方法 |
CN109739493A (zh) * | 2019-01-18 | 2019-05-10 | 宜创(北京)科技有限公司 | 数据库操作语句的生成方法、装置、电子设备及存储介质 |
CN111796810A (zh) * | 2020-07-03 | 2020-10-20 | 福建天晴在线互动科技有限公司 | 一种可配置化快速生成Mysql数据库代码的方法及其系统 |
CN111966707A (zh) * | 2020-08-21 | 2020-11-20 | 北京明略昭辉科技有限公司 | 查询语句生成方法、装置、电子设备和计算机可读介质 |
CN112015831A (zh) * | 2020-09-09 | 2020-12-01 | 深圳市绿联科技有限公司 | 基于c语言对关系型数据库进行操作的方法、装置及设备 |
CN112631567A (zh) * | 2020-12-30 | 2021-04-09 | 中国农业银行股份有限公司 | 一种生成数据库操作文件的方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703739A (zh) * | 2021-09-03 | 2021-11-26 | 上海森亿医疗科技有限公司 | 基于omiga引擎的跨语言融合计算方法、系统及终端 |
CN115495442A (zh) * | 2022-11-16 | 2022-12-20 | 深圳市明源云采购科技有限公司 | 数据库操作文件生成方法、装置、设备及存储介质 |
CN115495442B (zh) * | 2022-11-16 | 2023-08-04 | 深圳市明源云采购科技有限公司 | 数据库操作文件生成方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8010962B2 (en) | Infrastructure for the automation of the assembly of schema maintenance scripts | |
US5740431A (en) | Configuration file management | |
CN104035772A (zh) | 基于静态分析的源码多版本函数调用关系差异性标识方法 | |
CN111126019B (zh) | 基于模式定制的报表生成方法、装置和电子设备 | |
CN113190218A (zh) | 目标操作函数的生成方法和装置 | |
CN111797073A (zh) | 数据库管理方法、电子设备与计算机可读存储介质 | |
CN110941629B (zh) | 元数据处理方法、装置、设备及计算机可读存储介质 | |
CN111367893A (zh) | 数据库版本迭代的方法及装置 | |
US8433729B2 (en) | Method and system for automatically generating a communication interface | |
CN114371845A (zh) | 表单生成方法及装置 | |
CN113254470A (zh) | 一种数据更改方法、装置、计算机设备及存储介质 | |
CN113590097A (zh) | 一种api接口的生成方法、装置、电子设备及存储介质 | |
CN112835638A (zh) | 一种基于嵌入式应用程序的配置信息管理方法及装置 | |
CN102171696B (zh) | 定制资料的生成方法和装置 | |
US20060190476A1 (en) | Database storage system and associated method | |
CN114218261A (zh) | 数据查询方法、装置、存储介质以及电子设备 | |
CN115686589A (zh) | 实体类文件更新系统、方法及相应计算机设备和存储介质 | |
CN115310127A (zh) | 一种数据脱敏方法及装置 | |
CN111562907A (zh) | 自定义接口数据的转换方法与系统 | |
CN112905564B (zh) | 基于Atlas管理Oracle数据库元数据的方法及装置 | |
CN117056414A (zh) | 一种数据快速展示的方法、系统、计算机和存储介质 | |
CN115794774A (zh) | 数据库操作规则的生成方法、装置及电子设备 | |
CN115827040A (zh) | 一种为软件业务系统生成唯一编号的方法及系统 | |
CN117972235A (zh) | 一种空间数据查询方法、系统及电子设备 | |
CN115438113A (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 |