用于数据库的数据处理方法、装置及计算机可读介质制造方法及图纸

技术编号:28673184 阅读:16 留言:0更新日期:2021-06-02 02:49
本发明专利技术涉及一种用于数据库的数据处理方法,包括:编辑应用程序中的程序元素,所述程序元素对应数据库中的表,所述程序元素的属性对应所述表中的列;创建所述程序元素的第一注解,所述第一注解包括所述程序元素对应的所述表中的当前列描述信息;启动所述应用程序,获取所述数据库的原始列描述信息;比较所述当前列描述信息和所述原始列描述信息,获得所述当前列描述信息中不同于所述原始列描述信息的更新列描述信息;以及根据所述更新列描述信息更新所述数据库中的列。根据本发明专利技术,可以自动实现程序元素和数据库中的列的映射,避免程序元素和数据库没有及时映射而导致的程序报错,并且节约开发时间。

【技术实现步骤摘要】
用于数据库的数据处理方法、装置及计算机可读介质
本专利技术主要涉及数据库的
,具体地涉及一种用于数据库的数据处理方法、装置及计算机可读介质。
技术介绍
在互联网时代,面向对象技术几乎涵盖了所有软件设计领域、应用领域和工程领域。同时,Oracle、DB2、SQLServer等关系数据库占据了绝大部分的数据库领域。当以关系数据库作为面向对象技术应用的数据存储方式时,就需要面向对象技术和数据库技术相互配合作用。对象映射关系(ORM,ObjectRelationMapping)是通过使用描述对象和数据库之间映射的元数据,可以将面向对象语言程序中的对象自动持久化到关系数据库中。这种方案的优点是将数据对象化,开发者可以不考虑数据表的内容,数据表之间的关系等,可直接对逻辑对象中的对象实体做开发,架构会在对象做持久化处理时做相应的处理。Schema是数据库的组织和结构,Schema对象可以包括表(table)、列(column)、数据类型(datatype)、关系(relationships)等。目前,当对象实体发生改变时,需要人为的将这种改变映射到数据库的Schema架构中,对象和数据库Schema之间具有映射关系。当对象实体频繁发生改变时,程序员往往容易忘记在数据库中执行Schema的映射步骤,导致在程序启动时由于实体对象和数据库结构不匹配而报错。并且,目前这种映射的方法效率低下,增加项目开发的时间成本。
技术实现思路
本专利技术所要解决的技术问题是提供一种对象实体和关系库架构自动映射的用于数据库的数据处理方法及装置。本专利技术为解决上述技术问题而采用的技术方案是一种用于数据库的数据处理方法,包括:编辑应用程序中的程序元素,所述程序元素对应数据库中的表,所述程序元素的属性对应所述表中的列;创建所述程序元素的第一注解,所述第一注解包括所述程序元素对应的所述表中的当前列描述信息;启动所述应用程序,获取所述数据库的原始列描述信息;比较所述当前列描述信息和所述原始列描述信息,获得所述当前列描述信息中不同于所述原始列描述信息的更新列描述信息;以及根据所述更新列描述信息更新所述数据库中的列。在本专利技术的一实施例中,所述编辑应用程序中的程序元素的步骤包括:为所述程序元素增加新属性,所述新属性对应所述表中的新列;和/或,修改所述程序元素的至少一个属性;和/或,删除所述程序元素的至少一个属性。在本专利技术的一实施例中,在启动所述应用程序之前还包括:在所述应用程序的启动程序中创建第二注解,所述第二注解包括执行扫描所述程序元素所在的路径的命令。在本专利技术的一实施例中,所述路径包括所述程序元素的上级程序元素所在的路径。在本专利技术的一实施例中,根据所述更新列描述信息更新所述数据库中的列的步骤包括:根据所述更新列描述信息生成ddl语句;以及在所述数据库中执行所述ddl语句。在本专利技术的一实施例中,启动所述应用程序的步骤还包括:获得启动参数,所述启动参数包括所述数据库的数据源信息,所述数据源信息至少包括所述数据库的连接地址和端口号。在本专利技术的一实施例中,所述当前列描述信息至少包括列名和列属性。在本专利技术的一实施例中,所述程序元素包括Java对象。在本专利技术的一实施例中,所述第一注解是JPA注解。本专利技术为解决上述技术问题还提出一种用于数据库的数据处理装置,包括:存储器,用于存储可由处理器执行的指令;处理器,用于执行所述指令以实现如上所述的方法。本专利技术为解决上述技术问题还提出一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如上所述的方法。本专利技术通过为程序元素创建第一注解,比较该第一注解中的当前列描述信息和数据库的原始列描述信息,获得当前列描述信息和原始列描述信息之间的差异,作为更新列描述信息,并根据该更新列描述信息对数据库中的列进行更新。根据本专利技术,可以自动实现程序元素和数据库中的列的映射,避免程序元素和数据库没有及时映射而导致的程序报错,并且节约开发时间。附图说明为让本专利技术的上述目的、特征和优点能更明显易懂,以下结合附图对本专利技术的具体实施方式作详细说明,其中:图1是一种软件对象和数据库结构映射方法的示例性流程图;图2是本专利技术一实施例的用于数据库的数据处理方法的示例性流程图;图3是本专利技术一实施例的用于数据库的数据处理装置的系统框图。具体实施方式为让本专利技术的上述目的、特征和优点能更明显易懂,以下结合附图对本专利技术的具体实施方式作详细说明。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但是本专利技术还可以采用其它不同于在此描述的其它方式来实施,因此本专利技术不受下面公开的具体实施例的限制。如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。此外,需要说明的是,使用“第一”、“第二”等词语来限定零部件,仅仅是为了便于对相应零部件进行区别,如没有另行声明,上述词语并没有特殊含义,因此不能理解为对本申请保护范围的限制。此外,尽管本申请中所使用的术语是从公知公用的术语中选择的,但是本申请说明书中所提及的一些术语可能是申请人按他或她的判断来选择的,其详细含义在本文的描述的相关部分中说明。此外,要求不仅仅通过所使用的实际术语,而是还要通过每个术语所蕴含的意义来理解本申请。本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,或将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。图1是一种软件对象和数据库结构映射方法的示例性流程图。参考图1所示,该映射方法包括以下步骤:步骤S110:在软件中修改对象;步骤S120:在数据库中修改表的列的属性;步骤S130:启动软件项目。其中,步骤S110中的软件指面向对象程序,对象则指面向对象程序中的对象,该对象映射到数据库中的表,对象的属性对应于表中的列。程序员在软件中可以改变对象的设置本文档来自技高网...

【技术保护点】
1.一种用于数据库的数据处理方法,包括:/n编辑应用程序中的程序元素,所述程序元素对应数据库中的表,所述程序元素的属性对应所述表中的列;/n创建所述程序元素的第一注解,所述第一注解包括所述程序元素对应的所述表中的当前列描述信息;/n启动所述应用程序,获取所述数据库的原始列描述信息;/n比较所述当前列描述信息和所述原始列描述信息,获得所述当前列描述信息中不同于所述原始列描述信息的更新列描述信息;以及/n根据所述更新列描述信息更新所述数据库中的列。/n

【技术特征摘要】
1.一种用于数据库的数据处理方法,包括:
编辑应用程序中的程序元素,所述程序元素对应数据库中的表,所述程序元素的属性对应所述表中的列;
创建所述程序元素的第一注解,所述第一注解包括所述程序元素对应的所述表中的当前列描述信息;
启动所述应用程序,获取所述数据库的原始列描述信息;
比较所述当前列描述信息和所述原始列描述信息,获得所述当前列描述信息中不同于所述原始列描述信息的更新列描述信息;以及
根据所述更新列描述信息更新所述数据库中的列。


2.如权利要求1所述的数据处理方法,其特征在于,所述编辑应用程序中的程序元素的步骤包括:为所述程序元素增加新属性,所述新属性对应所述表中的新列;和/或,修改所述程序元素的至少一个属性;和/或,删除所述程序元素的至少一个属性。


3.如权利要求1所述的数据处理方法,其特征在于,在启动所述应用程序之前还包括:在所述应用程序的启动程序中创建第二注解,所述第二注解包括执行扫描所述程序元素所在的路径的命令。


4.如权利要求3所述的数据处理方法,其特征在于,所述路径包括所述程序元素的上级程序元素所在的路径。
...

【专利技术属性】
技术研发人员:杨涛张亚军陈诚王红奇
申请(专利权)人:浙江太美医疗科技股份有限公司
类型:发明
国别省市:浙江;33

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

1