CN112883044B - 用于数据库的数据处理方法、装置及计算机可读介质 - Google Patents
用于数据库的数据处理方法、装置及计算机可读介质 Download PDFInfo
- Publication number
- CN112883044B CN112883044B CN202110336124.7A CN202110336124A CN112883044B CN 112883044 B CN112883044 B CN 112883044B CN 202110336124 A CN202110336124 A CN 202110336124A CN 112883044 B CN112883044 B CN 112883044B
- Authority
- CN
- China
- Prior art keywords
- database
- program
- description information
- column
- column description
- 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.)
- Active
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/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种用于数据库的数据处理方法,包括:编辑应用程序中的程序元素,所述程序元素对应数据库中的表,所述程序元素的属性对应所述表中的列;创建所述程序元素的第一注解,所述第一注解包括所述程序元素对应的所述表中的当前列描述信息;启动所述应用程序,获取所述数据库的原始列描述信息;比较所述当前列描述信息和所述原始列描述信息,获得所述当前列描述信息中不同于所述原始列描述信息的更新列描述信息;以及根据所述更新列描述信息更新所述数据库中的列。根据本发明,可以自动实现程序元素和数据库中的列的映射,避免程序元素和数据库没有及时映射而导致的程序报错,并且节约开发时间。
Description
技术领域
本发明主要涉及数据库的技术领域,具体地涉及一种用于数据库的数据处理方法、装置及计算机可读介质。
背景技术
在互联网时代,面向对象技术几乎涵盖了所有软件设计领域、应用领域和工程领域。同时,Oracle、DB2、SQLServer等关系数据库占据了绝大部分的数据库领域。当以关系数据库作为面向对象技术应用的数据存储方式时,就需要面向对象技术和数据库技术相互配合作用。
对象映射关系(ORM,Object Relation Mapping)是通过使用描述对象和数据库之间映射的元数据,可以将面向对象语言程序中的对象自动持久化到关系数据库中。这种方案的优点是将数据对象化,开发者可以不考虑数据表的内容,数据表之间的关系等,可直接对逻辑对象中的对象实体做开发,架构会在对象做持久化处理时做相应的处理。Schema是数据库的组织和结构,Schema对象可以包括表(table)、列(column)、数据类型(datatype)、关系(relationships)等。
目前,当对象实体发生改变时,需要人为的将这种改变映射到数据库的Schema架构中,对象和数据库Schema之间具有映射关系。当对象实体频繁发生改变时,程序员往往容易忘记在数据库中执行Schema的映射步骤,导致在程序启动时由于实体对象和数据库结构不匹配而报错。并且,目前这种映射的方法效率低下,增加项目开发的时间成本。
发明内容
本发明所要解决的技术问题是提供一种对象实体和关系库架构自动映射的用于数据库的数据处理方法及装置。
本发明为解决上述技术问题而采用的技术方案是一种用于数据库的数据处理方法,包括:编辑应用程序中的程序元素,所述程序元素对应数据库中的表,所述程序元素的属性对应所述表中的列;创建所述程序元素的第一注解,所述第一注解包括所述程序元素对应的所述表中的当前列描述信息;启动所述应用程序,获取所述数据库的原始列描述信息;比较所述当前列描述信息和所述原始列描述信息,获得所述当前列描述信息中不同于所述原始列描述信息的更新列描述信息;以及根据所述更新列描述信息更新所述数据库中的列。
在本发明的一实施例中,所述编辑应用程序中的程序元素的步骤包括:为所述程序元素增加新属性,所述新属性对应所述表中的新列;和/或,修改所述程序元素的至少一个属性;和/或,删除所述程序元素的至少一个属性。
在本发明的一实施例中,在启动所述应用程序之前还包括:在所述应用程序的启动程序中创建第二注解,所述第二注解包括执行扫描所述程序元素所在的路径的命令。
在本发明的一实施例中,所述路径包括所述程序元素的上级程序元素所在的路径。
在本发明的一实施例中,根据所述更新列描述信息更新所述数据库中的列的步骤包括:根据所述更新列描述信息生成ddl语句;以及在所述数据库中执行所述ddl语句。
在本发明的一实施例中,启动所述应用程序的步骤还包括:获得启动参数,所述启动参数包括所述数据库的数据源信息,所述数据源信息至少包括所述数据库的连接地址和端口号。
在本发明的一实施例中,所述当前列描述信息至少包括列名和列属性。
在本发明的一实施例中,所述程序元素包括Java对象。
在本发明的一实施例中,所述第一注解是JPA注解。
本发明为解决上述技术问题还提出一种用于数据库的数据处理装置,包括:存储器,用于存储可由处理器执行的指令;处理器,用于执行所述指令以实现如上所述的方法。
本发明为解决上述技术问题还提出一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如上所述的方法。
本发明通过为程序元素创建第一注解,比较该第一注解中的当前列描述信息和数据库的原始列描述信息,获得当前列描述信息和原始列描述信息之间的差异,作为更新列描述信息,并根据该更新列描述信息对数据库中的列进行更新。根据本发明,可以自动实现程序元素和数据库中的列的映射,避免程序元素和数据库没有及时映射而导致的程序报错,并且节约开发时间。
附图说明
为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明,其中:
图1是一种软件对象和数据库结构映射方法的示例性流程图;
图2是本发明一实施例的用于数据库的数据处理方法的示例性流程图;
图3是本发明一实施例的用于数据库的数据处理装置的系统框图。
具体实施方式
为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
此外,需要说明的是,使用“第一”、“第二”等词语来限定零部件,仅仅是为了便于对相应零部件进行区别,如没有另行声明,上述词语并没有特殊含义,因此不能理解为对本申请保护范围的限制。此外,尽管本申请中所使用的术语是从公知公用的术语中选择的,但是本申请说明书中所提及的一些术语可能是申请人按他或她的判断来选择的,其详细含义在本文的描述的相关部分中说明。此外,要求不仅仅通过所使用的实际术语,而是还要通过每个术语所蕴含的意义来理解本申请。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,或将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是一种软件对象和数据库结构映射方法的示例性流程图。参考图1所示,该映射方法包括以下步骤:
步骤S110:在软件中修改对象;
步骤S120:在数据库中修改表的列的属性;
步骤S130:启动软件项目。
其中,步骤S110中的软件指面向对象程序,对象则指面向对象程序中的对象,该对象映射到数据库中的表,对象的属性对应于表中的列。程序员在软件中可以改变对象的设置,例如修改了对象中的一个属性,该属性可以包括列名、字段长度、字段类型等。假设该属性中的列名原来是“姓名”,现在修改为“性别”。由于步骤S110中修改了对象的属性,因此在步骤S120中,程序员需要手动的在数据库中修改相应的列的属性,例如将列名由原来的“姓名”修改为“性别”。步骤S120也可以由程序员使用一些工具来完成。
在完成了步骤S110和S120之后,在步骤S130中启动软件项目。由于在步骤S110和S120中已经完成了对象和列的同步修改,则步骤S130就可以顺利的启动软件项目,不会发生报错。
然而,根据图1所示的实施例,无论是程序员手动的在数据库中修改列,还是使用工具来操作数据库,都具有效率低、易出错的问题。在实际应用中,程序员仅执行了步骤S110,而忘记执行步骤S120,在启动软件项目之后,就会发生报错,对软件开发造成阻碍。
图2是本发明一实施例的用于数据库的数据处理方法的示例性流程图。参考图2所示,该实施例的数据处理方法包括以下步骤:
步骤S210:编辑应用程序中的程序元素,该程序元素对应数据库中的表,该程序元素的属性对应该表中的列;
步骤S220:创建程序元素的第一注解,该第一注解包括程序元素对应的表中的当前列描述信息;
步骤S230:启动应用程序,获取数据库的原始列描述信息;
步骤S240:比较当前列描述信息和原始列描述信息,获得当前列描述信息中不同于原始列描述信息的更新列描述信息;以及
步骤S250:根据更新列描述信息更新数据库中的列。
下面对该实施例的各个步骤进行详细说明。
在步骤S210中,本发明对其中的应用程序不做限制,优选地,该应用程序是用于临床试验流程中的数据采集和管理程序。
步骤S210中的程序元素指程序员在开发该应用程序时的操作对象。在优选实施例中,应用程序采用面向对象技术,该程序元素指面向对象语言中由程序员定义的包、类、对象、字段、方法、局部变量、方法参数等,该程序元素对应数据库中的表。本发明对该程序元素所对应的数据库中的表的具体属性、数量不做限制。本发明对表中的列的具体属性、数量也不做限制。
本发明对步骤S210中的程序元素的个数不做限制。在步骤S210中可以对一个或多个程序元素进行编辑,每个程序元素都可以对应数据库中的一张表,每张表包括至少一个列。
在一些实施例中,该程序元素是Java对象。相应地,应用程序指Java程序或Java软件项目(Project)。
在一些实施例中,步骤S210的具体执行方法包括但不限于以下三种:
步骤S211:为程序元素增加新属性,新属性对应表中的新列;
步骤S212:修改程序元素的至少一个属性;
步骤S213:删除程序元素的至少一个属性。
步骤S211-S213可以择一执行,也可以同时执行。
在执行步骤S211时,为程序元素增加新属性。例如,一个程序元素对应数据库中的表A,该程序元素原来包括3个属性,分别是P1“姓名”、P2“年龄”、P3“性别”,对应于表A中的3个列L1、L2和L3,该3个列的列名分别是“姓名”、“年龄”、“性别”。出于业务需要,需要增加在表A中增加新的列L4,列名为“联系方式”,则在应用程序中需要为该程序元素增加新属性P4,该新属性P4对应表A中的列L4。
数据库中的列描述信息中包括多项信息,例如列名、列属性等,列属性可以包括列的字段类型,例如是字符型或数值型,以及列的字段长度、字段注释等。这些列描述信息中的每一个都可以对应于程序元素的一个属性。当执行了步骤S211后,数据库中的当前列描述信息与原始列描述信息相比发生了改变,增加了一个列名。相应的,由于增加了一个列名,也要增加该列的列属性。
在执行步骤S212时,至少修改程序元素的一个属性。假设修改了程序元素的一个属性P1,该属性P1对应于表A中列B的字段长度。原来该字段长度为10,在步骤S212中将该程序元素的属性P1修改为字段长度为5。则该程序元素对应的当前列描述信息与原始列描述信息相比就发生了改变,属性P1对应的列B的列属性中的字段长度发生了改变。
在一些实施例中,在步骤S212中可以同时改变程序元素对应的表的列描述信息中的多项信息,例如同时改变列名、字段类型、字段长度等。
在执行步骤S213时,假设删除了程序元素的一个属性P2,该属性P2对应于列名“性别”。则该程序元素对应的当前列描述信息与原始列描述信息相比发生了改变,减少了一个列名“性别”及其列属性。
在一些实施例中,可以对多个程序元素进行编辑,例如对第一程序元素执行步骤S211,该第一程序元素对应数据库中的表A1,为表A1增加新的列,该列名为“A1B1”;对第二程序元素执行步骤S212,第二程序元素对应数据库中的表A2,改变该表A2中的一个列名,将原来的列名“A2B1”修改为新的列名“A2B2”;对第三程序元素执行步骤S213,第三程序元素对应数据库中的表A3,删除该表A3中的一个列“A3B1”。则在后续的步骤中,经过步骤S240的比较之后,在步骤S250中,在表A1中增加列“A1B1”,在表A2中更改列名“A2B1”为“A2B2”,在表A3中删除列“A3B1”。
在步骤S220中,为步骤S210中的程序元素创建第一注解。
第一注解可以由程序员来编写,其中包括程序元素对应的该表的当前列描述信息。可以理解,数据库中的表中用于存储数据,表通常具有表名、索引、列名、列的属性等信息,其中,表名适于表示该表区别于其他表的名称;索引适于快速指向表中的数据;列名适于表示该表中的某个列的名称;列的属性适于表示该列中所存储的数据类型,例如是字符、数值、文本等类型,列的属性还可以包括例如字段长度等信息。表的列描述信息中可以包括但不限于列名、列属性,列属性中包括但不限于字段类型、字段长度、字段注释等。
在一些实施例中,第一注解是JPA注解,表示该第一注解遵循JPA的标准。JPA是Java Persistence API的简称,是一种对象持久化规范。JPA注解就是利用注解来实现JPA相关的配置工作。在优选的实施例中,应用程序可以是指采用Java编程语言实现的Java程序,JPA注解是一种代码级别的元数据,可以声明在包、类文件、字段、方法、局部变量、方法参数等程序元素的前面,用来对这些程序元素进行说明注释等。注解可以被认为是一种接口,程序可以通过反射机制来获取指定程序元素的注解,并获取注解所关联的程序元素的信息,开发人员则可以利用注解跟踪源代码中的依赖性或执行基本编译时检查代码等。
在本发明的实施例中,对步骤S210中编辑的程序元素进行第一注解,可以提示这些程序元素对象及其对应的数据库中的对象可能发生的改变。
在步骤S230,在启动应用程序时,可以自动获得数据库的原始列描述信息。步骤S230中的数据库还没有和步骤S210中所编辑的程序元素建立新的映射关系。
在一些实施例中,启动应用程序的步骤还包括:获得启动参数,启动参数包括数据库的数据源信息,该数据源信息至少包括数据库的连接地址和端口号。
在这些实施例中,获得启动参数的步骤可以由该应用程序设置相应的命令。根据该启动参数,在应用程序启动时,就可以通过数据库的连接地址和端口号,使应用程序可以访问该数据库,从而获得该数据库的相关信息,包括表的原始列描述信息。
当一个应用程序对应于多个数据库时,启动参数可以指定应用程序所要启动的是哪一个数据库。
在一些实施例中,在启动应用程序之前还包括:在应用程序的启动程序中创建第二注解,该第二注解包括执行扫描该程序元素所在的路径的命令。根据该第二注解,可以扫描到步骤S220中所编辑的程序元素及其第一注解。
在一些实施例中,第二注解中的路径包括该程序元素的上级程序元素所在的路径。在程序元素是Java对象的实施例中,应用程序包括启动类(Class)。对于Java程序来说,启动类指在Java程序项目启动时需要加载的类(Class)。在该启动类上配置该第二注解,该第二注解包括执行扫描该Java对象所在的路径的命令。包(Package)是比类高一层级的程序元素,也就是说包是类的上级程序元素,同理,类是对象的上级程序元素。因此,在第二注解中包括启动类所在包的路径,使应用程序对该包路径执行扫描,就可以获得步骤S220中所创建的Java对象及其第一注解。
在一些实施例中,该第二注解是@DbInspect()注解。
在一些实施例中,该第二注解不是JPA注解。
在一些实施例中,该第二注解是一种自定义注解。
在一些实施例中,在启动应用程序之前,本发明的数据处理方法提供一用户界面,用户可以在该用户界面上编辑该第二注解。
在其他的实施例中,启动应用程序之后,自动对所有路径下的程序元素进行扫描,可以获得步骤S220中所创建的Java对象的第一注解。
在步骤S240中,比较当前列描述信息和原始列描述信息,获得当前列描述信息中不同于原始列描述信息的更新列描述信息。继续参考前面的例子,如果在步骤S210中为Java对象增加了新属性P4,该新属性P4对应新的列名“联系方式”,则经过步骤S240之后,该更新列描述信息就包括新增列名“联系方式”的描述信息。如果在步骤S210中改变了原来Java对象的至少一个属性P1,将原来字段长度为10改为字段长度为5,则该更新列描述信息就包括改变属性P1所对应列的字段长度的描述信息。如果在步骤S210中删除了原来Java对象一个属性P2,则该更新列描述信息就包括删除属性P2所对应列的描述信息。
在步骤S250中,根据在步骤S240中所获得更新列描述信息对数据库中的列进行更新。例如,参考前面的例子,在表A1中增加新的列“A1B1”,将表A2中的列名“A2B1”修改为新的“A2B2”,删除表A3中的一个列“A3B1”。
在一些实施例中,步骤S250还包括:根据更新列描述信息生成ddl语句;以及在数据库中执行该ddl语句。数据库模式定义语言Data Definition Language(ddl语句)是用于描述数据库中要存储的现实世界实体的语言。ddl语句主要用于定义、更新、删除数据库对象,通常的数据库对象包含表、视图、索引、约束、存储过程、触发器、角色、用户等。在步骤S250中将更新列描述信息用ddl语句来描述,将该ddl语句执行到数据库中时,就可以对数据库中的架构进行操作,例如本发明所涉及的创建列、修改列和删除列的操作。
经过步骤S210-S250,完成了从应用程序中的程序元素到数据库中的列的自动映射。这样,可以避免由于数据库没有及时与程序元素映射而导致的程序报错,并且节约开发时间。
本发明还包括一种用于数据库的数据处理装置,包括存储器和处理器。其中,该存储器用于存储可由处理器执行的指令;处理器用于执行该指令以实现前文所述的用于数据库的数据处理方法。
图3是本发明一实施例的用于数据库的数据处理装置的系统框图。参考图3所示,该数据处理装置300可包括内部通信总线301、处理器302、只读存储器(ROM)303、随机存取存储器(RAM)304以及通信端口305。当应用在个人计算机上时,该数据处理装置300还可以包括硬盘307。内部通信总线301可以实现该数据处理装置300组件间的数据通信。处理器302可以进行判断和发出提示。在一些实施例中,处理器302可以由一个或多个处理器组成。通信端口305可以实现该数据处理装置300与外部的数据通信。在一些实施例中,该数据处理装置300可以通过通信端口305从网络发送和接受信息及数据。该数据处理装置300还可以包括不同形式的程序储存单元以及数据储存单元,例如硬盘307,只读存储器(ROM)303和随机存取存储器(RAM)304,能够存储计算机处理和/或通信使用的各种数据文件,以及处理器302所执行的可能的程序指令。处理器执行这些指令以实现方法的主要部分。处理器处理的结果通过通信端口传给用户设备,在用户界面上显示。
上述的数据处理方法可以实施为计算机程序,保存在硬盘307中,并可加载到处理器302中执行,以实施本申请的数据处理方法。
本发明还包括一种存储有计算机程序代码的计算机可读介质,该计算机程序代码在由处理器执行时实现前文所述的用于数据库的数据处理方法。
用于数据库的数据处理方法实施为计算机程序时,也可以存储在计算机可读存储介质中作为制品。例如,计算机可读存储介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩盘(CD)、数字多功能盘(DVD))、智能卡和闪存设备(例如,电可擦除可编程只读存储器(EPROM)、卡、棒、键驱动)。此外,本文描述的各种存储介质能代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于能存储、包含和/或承载代码和/或指令和/或数据的无线信道和各种其它介质(和/或存储介质)。
应该理解,上文所描述的实施例仅是示意。本文描述的实施例可在硬件、软件、固件、中间件、微码或者其任意组合中实现。对于硬件实现,处理器可以在一个或者多个特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器和/或设计为执行本文所述功能的其它电子单元或者其结合内实现。
本申请的一些方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。处理器可以是一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DAPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器或者其组合。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。例如,计算机可读介质可包括,但不限于,磁性存储设备(例如,硬盘、软盘、磁带……)、光盘(例如,压缩盘CD、数字多功能盘DVD……)、智能卡以及闪存设备(例如,卡、棒、键驱动器……)。
计算机可读介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等等、或合适的组合形式。计算机可读介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、射频信号、或类似介质、或任何上述介质的组合。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述发明披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
Claims (8)
1.一种用于数据库的数据处理方法,包括:
编辑应用程序中的程序元素,所述程序元素对应数据库中的表,所述程序元素的属性对应所述表中的列;
创建所述程序元素的第一注解,所述第一注解包括所述程序元素对应的所述表中的当前列描述信息;
在所述应用程序的启动程序中创建第二注解,所述第二注解包括执行扫描所述程序元素所在的路径的命令,所述路径包括所述程序元素的上级程序元素所在的路径;
启动所述应用程序,获取所述数据库的原始列描述信息,其中,启动所述应用程序的步骤还包括:获得启动参数,所述启动参数包括所述数据库的数据源信息,所述数据源信息至少包括所述数据库的连接地址和端口号;
比较所述当前列描述信息和所述原始列描述信息,获得所述当前列描述信息中不同于所述原始列描述信息的更新列描述信息;以及
根据所述更新列描述信息更新所述数据库中的列。
2.如权利要求1所述的数据处理方法,其特征在于,所述编辑应用程序中的程序元素的步骤包括:为所述程序元素增加新属性,所述新属性对应所述表中的新列;和/或,修改所述程序元素的至少一个属性;和/或,删除所述程序元素的至少一个属性。
3.如权利要求1所述的数据处理方法,其特征在于,根据所述更新列描述信息更新所述数据库中的列的步骤包括:根据所述更新列描述信息生成ddl语句;以及在所述数据库中执行所述ddl语句。
4.如权利要求1所述的数据处理方法,其特征在于,所述当前列描述信息至少包括列名和列属性。
5.如权利要求1所述的数据处理方法,其特征在于,所述程序元素包括Java对象。
6.如权利要求5所述的数据处理方法,其特征在于,所述第一注解是JPA注解。
7.一种用于数据库的数据处理装置,包括:
存储器,用于存储可由处理器执行的指令;
处理器,用于执行所述指令以实现如权利要求1-6任一项所述的方法。
8.一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110336124.7A CN112883044B (zh) | 2021-03-29 | 2021-03-29 | 用于数据库的数据处理方法、装置及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110336124.7A CN112883044B (zh) | 2021-03-29 | 2021-03-29 | 用于数据库的数据处理方法、装置及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112883044A CN112883044A (zh) | 2021-06-01 |
CN112883044B true CN112883044B (zh) | 2023-02-07 |
Family
ID=76039970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110336124.7A Active CN112883044B (zh) | 2021-03-29 | 2021-03-29 | 用于数据库的数据处理方法、装置及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112883044B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113986343B (zh) * | 2021-10-22 | 2023-11-21 | 上海太美数字科技有限公司 | 程序模块获取方法、装置、计算机设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112114794A (zh) * | 2020-09-27 | 2020-12-22 | 江西宜月鑫网络科技有限公司 | 网站应用程序自动生成方法、装置和计算机存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030115548A1 (en) * | 2001-12-14 | 2003-06-19 | International Business Machines Corporation | Generating class library to represent messages described in a structured language schema |
US20040064487A1 (en) * | 2002-10-01 | 2004-04-01 | Nguyen Liem M. | Method and apparatus to migrate a database |
US7676492B2 (en) * | 2006-04-07 | 2010-03-09 | International Business Machines Corporation | Migration of database using serialized objects |
US9292553B2 (en) * | 2013-08-20 | 2016-03-22 | Pivotal Software, Inc. | Queries for thin database indexing |
CN110826007B (zh) * | 2019-12-04 | 2022-07-05 | 杭州安恒信息技术股份有限公司 | 栏目更新日期确定方法、装置、设备及可读存储介质 |
CN112463766B (zh) * | 2020-12-08 | 2022-09-27 | 卡斯柯信号有限公司 | 基于高速读写数据库的列车信息记录、读取及回放方法 |
-
2021
- 2021-03-29 CN CN202110336124.7A patent/CN112883044B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112114794A (zh) * | 2020-09-27 | 2020-12-22 | 江西宜月鑫网络科技有限公司 | 网站应用程序自动生成方法、装置和计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112883044A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11366856B2 (en) | System and method for updating target schema of graph model | |
CN107526777B (zh) | 一种基于版本号对文件进行处理的方法及设备 | |
US20170315973A1 (en) | Semantic diff and automerge | |
US9043757B2 (en) | Identifying differences between source codes of different versions of a software when each source code is organized using incorporated files | |
CN110764748B (zh) | 代码调用方法、装置、终端及存储介质 | |
CN111309335A (zh) | 插件应用的编译方法、装置及计算机可读存储介质 | |
CN112783912B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
EP3732606A1 (en) | Systems and methods for determining database permissions | |
CN113032393A (zh) | 一种绑定关联对象的方法和装置 | |
CN113296786A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN112883044B (zh) | 用于数据库的数据处理方法、装置及计算机可读介质 | |
CN108694172B (zh) | 信息输出方法和装置 | |
CN112948395B (zh) | 用于数据库的数据处理方法、装置及计算机可读介质 | |
CN111125216A (zh) | 数据导入Phoenix的方法及装置 | |
US9201936B2 (en) | Rapid provisioning of information for business analytics | |
CN113343036B (zh) | 基于关键拓扑结构分析的数据血缘关系解析方法和系统 | |
CN116185389A (zh) | 一种代码生成方法、装置、电子设备及介质 | |
US20190303460A1 (en) | Transaction-based pseudo-script generation for scheduling and implementing database schema changes | |
CN116010345A (zh) | 一种实现流批一体数据湖的表服务方案的方法、装置及设备 | |
CN114328552A (zh) | 数据库的管理方法、系统及计算机可读介质 | |
CN113778421A (zh) | 一种生成业务代码的方法及设备 | |
CN114138815A (zh) | 一种应用程序的多数据库兼容实现方法、设备及介质 | |
CN117573199B (zh) | 一种模型差异对比分析方法、装置、设备及介质 | |
CN116450682B (zh) | 基于数据合并的模型生成方法、装置、设备及介质 | |
US20230359668A1 (en) | Dataflow graph datasets |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |