CN111026777B - 实体类代码生成方法、装置、计算机设备及存储介质 - Google Patents

实体类代码生成方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN111026777B
CN111026777B CN201911281749.7A CN201911281749A CN111026777B CN 111026777 B CN111026777 B CN 111026777B CN 201911281749 A CN201911281749 A CN 201911281749A CN 111026777 B CN111026777 B CN 111026777B
Authority
CN
China
Prior art keywords
entity
attribute
data table
target data
model
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
Application number
CN201911281749.7A
Other languages
English (en)
Other versions
CN111026777A (zh
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.)
China Southern Power Grid Digital Grid Technology Guangdong Co ltd
China Southern Power Grid Co Ltd
Southern Power Grid Digital Grid Research Institute Co Ltd
Original Assignee
China Southern Power Grid Co Ltd
Southern Power Grid Digital Grid Research Institute 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 China Southern Power Grid Co Ltd, Southern Power Grid Digital Grid Research Institute Co Ltd filed Critical China Southern Power Grid Co Ltd
Priority to CN201911281749.7A priority Critical patent/CN111026777B/zh
Publication of CN111026777A publication Critical patent/CN111026777A/zh
Application granted granted Critical
Publication of CN111026777B publication Critical patent/CN111026777B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种实体类代码生成方法、装置、计算机设备及存储介质,涉及对象关系映射技术领域。该实体类代码生成方法通过获取关系型数据库中的目标数据表,将目标数据表导入实体模型中,控制实体模型根据目标数据表的属性信息将目标数据表的数据转换为实体属性对应的数据,得到目标数据表对应的实体类实例。根据目标数据表对应的实体类实例生成实体类代码,运行实体类代码可以将对实体模型的操作转换为对目标数据表的操作。可见该技术方案可以将自动地将目标数据表转换为实体类实例,并基于实体类实例生成实体类代码,实现将对实体模型的操作转换为对目标数据表的操作。避免了手动编写实体类代码容易出现的代码输入错误以及效率低的问题。

Description

实体类代码生成方法、装置、计算机设备及存储介质
技术领域
本申请涉及对象关系映射技术领域,特别是涉及一种实体类代码生成方法、装置、计算机设备及存储介质。
背景技术
目前,面向对象的程序编码方式是主流的应用程序开发方式,并且关系型数据库是主流的底层数据库,由于关系型数据库的表格表现方式与应用程序的面向对象表现方式之间在本质上不相匹配。为了解决这个问题,现有技术中提出通过建立与数据库对象结构具有一一对应关系的映射实体类来实现应用程序对关系型数据库的访问。
现有技术中,与数据库对象结构具有一一对应关系的映射实体类是通过程序员手动编写的代码形成。
然而,由于数据库中存在多个数据库对象,并且每个数据库对象通常含有多个字段,数据量较大。程序员对数据库的每条数据手动编写源代码的过程中,容易编写错误并且工作效率较低。
发明内容
基于此,有必要针对上述存在容易编写错误并且工作效率较低的问题,提供一种实体类代码生成方法、装置、计算机设备及存储介质。
第一方面,本申请实施例提供了一种实体类代码生成方法,该方法包括:
获取关系型数据库中的目标数据表;
将目标数据表导入实体模型,实体模型包括实体属性,实体属性与目标数据表的属性信息一一映射,其中,目标数据表的属性信息包括表名、字段名、字段类型、字段大小和主键值;
控制实体模型根据目标数据表的属性信息将目标数据表的数据转换为实体属性对应的数据,得到目标数据表对应的实体类实例;
根据实体类实例生成实体类代码,运行实体类代码可以将对实体模型的操作转换为对目标数据表的操作。
在本申请的一个实施例中,将目标数据表导入实体模型之前,该方法还包括:
获取关系型数据库的元数据信息;
根据关系型数据库的元数据信息建立数据库模型;
对数据库模型进行解析,得到实体元数据,实体元数据包括实体基本信息、实体关联信息、实体属性和实体方法;
根据实体元数据建立实体模型。
在本申请的一个实施例中,根据实体元数据建立实体模型之后,该方法还包括:
根据实体模型生成可视化界面,可视化界面用于展示实体模型的实体基本信息、实体关联信息、实体属性和实体方法。
在本申请的一个实施例中,获取关系型数据库的元数据信息,包括:
获取关系型数据库的设计文档,对设计文档进行解析得到关系型数据库的元数据信息。
在本申请的一个实施例中,根据实体类实例生成实体类代码之前,该方法还包括:
获取新增指令,新增指令用于指示对实体元数据中的实体属性进行新增;
根据新增指令获取新增实体属性的属性名称和属性数据,并将新增实体属性的属性名称和属性数据添加至实体模型的实体属性中。
在本申请的一个实施例中,根据实体类实例生成实体类代码之前,该方法还包括:
获取删除指令,删除指令包括待删除的实体属性,删除指令用于指示对待删除的实体属性进行删除;
根据删除指令,将待删除的实体属性从实体模型的实体属性中删除。
在本申请的一个实施例中,根据实体类实例生成实体类代码之前,该方法还包括:
获取修改指令,修改指令包括待修改的实体属性,修改指令用于指示对待修改的实体属性进行修改;
根据修改指令,获取待修改的实体属性的修改数据,将修改数据替换对应的属性数据。
第二方面,本申请实施例提供了一种实体类代码生成装置,该装置包括:
获取模块,用于获取关系型数据库中的目标数据表;
导入模块,用于将目标数据表导入实体模型,实体模型包括实体属性,实体属性与目标数据表的属性信息一一映射,其中,目标数据表的属性信息包括表名、字段名、字段类型、字段大小和主键值;
转换模块,用于控制实体模型根据目标数据表的属性信息将目标数据表的数据转换为实体属性对应的数据,得到目标数据表对应的实体类实例;
代码生成模块,用于根据实体类实例生成实体类代码,运行实体类代码可以将对实体模型的操作转换为对目标数据表的操作。
第三方面,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该计算机程序被该处理器执行时实现上述第一方面的方法的步骤。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面的方法的步骤。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过获取关系型数据库中的目标数据表,将目标数据表导入实体模型中,控制实体模型根据目标数据表的属性信息将目标数据表的数据转换为实体属性对应的数据,得到目标数据表对应的实体类实例。根据目标数据表对应的实体类实例生成实体类代码,运行实体类代码可以将对实体模型的操作转换为对目标数据表的操作。其中,实体属性与目标数据表的属性信息一一对应,目标数据表的属性信息包括对象名、字段名、字段类型、字段大小和主键值。可见该技术方案可以将自动地将目标数据表转换为实体类实例,并基于实体类实例生成实体类代码,当应用程序对实体类进行操作时,实现将对实体模型的操作转换为对目标数据表的操作。避免了手动编写实体类代码容易出现的代码输入错误以及效率低的问题。
附图说明
图1为本申请实施例提供的实体类代码生成方法的实施环境的示意图;
图2为本申请实施例提供的一种实体类代码生成方法的流程图;
图3为本申请实施例示例性展示的目标数据表的示意图;
图4为本申请实施例示例性展示的目标数据表的示意图;
图5为本申请实施例中将目标数据表导入实体模型的示意图;
图6为本申请实施例提供的另一种实体类代码生成方法的流程图;
图7为本申请实施例提供的实体模型的可视化界面的示意图;
图8为本申请实施例提供的一种实体类代码生成装置的模块图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
当使用一种面向对象的编程语言来进行应用开发时,从项目一开始就采用的是面向对象分析,面向对象设计,面向对象编程,但到了持久层数据库访问时,又必须重返关系数据库的访问方式,这会给程序开发人员带来极大的不便。基于这个问题,现有技术中提出通过建立与数据库对象结构具有一一对应关系的映射实体类来实现应用程序对关系型数据库的访问。
现有技术是:对数据库的每条数据手动编写源代码,以建立与数据库对象一一映射的实体类。得到实体类之后,应用程序对实体类的操作可以被转换成对相应数据库对象的操作。
然而,由于数据库中存在多个数据库对象,并且每个数据库对象通常含有多个字段,数据量较大。程序员对数据库的每条数据手动编写源代码的过程中,容易出现编写错误并且工作效率较低。
本申请实施例提供一种实体类代码生成方法、装置、计算机设备及存储介质。可以自动地生成实体类代码。该实体类代码生成方法,通过获取关系型数据库中的目标数据表,将目标数据表导入实体模型中,控制实体模型根据目标数据表的属性信息将目标数据表的数据转换为实体属性对应的数据,得到目标数据表对应的实体类实例。根据目标数据表对应的实体类实例生成实体类代码,运行实体类代码可以将对实体模型的操作转换为对目标数据表的操作。其中,实体属性与目标数据表的属性信息一一对应,目标数据表的属性信息包括对象名、字段名、字段类型、字段大小和主键值。可见该技术方案可以将自动地将目标数据表转换为实体类实例,并基于实体类实例生成实体类代码,实现将对实体模型的操作转换为对目标数据表的操作。避免了手动编写实体类代码容易出现的代码输入错误以及效率低的问题。
下面,将对本申请实施例提供的实体类代码生成方法所涉及到的实施环境进行简要说明。
请参考图1,本申请提供的实体类代码生成方法可以应用于如图1所示的计算机设备中,该计算机设备可以是服务器,其内部结构图可以如图1所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种实体类代码生成方法。
图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图1中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
请参考图2,其示出了本申请实施例提供的一种实体类代码生成方法的流程图,该实体类代码生成方法可以应用于图1所示的实施环境中,如图2所示,该实体类代码生成方法可以包括以下步骤:
步骤201、获取关系型数据库中的目标数据表。
可选的,本申请实施例中,目标数据表为关系型数据库中的多个数据表中的任意一个或者多个。
可选的,本申请实施例中,关系型数据库可以是Oracle、Mysql、Sql、Access等。可以针对不同的面向对象编程语言,例如JAVA、C++等。
可选的,本申请实施例中,可以根据关系型数据库的配置文件信息,链接关系型数据库,其中,配置文件信息可以包括数据库地址、用户名和密码。
举例而言,目标数据表可以如图3和图4所示,其中,图3为采购信息表,图4为采购明细表。
步骤202、将目标数据表导入实体模型。
可选的,本申请实施例中,将图3和图4中的目标数据表导入实体模型的过程可以如图5所示。
其中,实体模型包括实体属性,实体属性与目标数据表的属性信息一一映射,目标数据表的属性信息包括表名、字段名、字段类型、字段大小和主键值等。
可选的,实体模型可以是一个XML(英文:Extensible Markup Language;中文:可扩展标记语言)的数据结构,其与关系型数据库的元数据信息一一映射,其中,关系型数据库的元数据信息可以是指定义字段属性的数据,例如,字段的类型、长度等,通常情况下,对于字符串类型的字段,对应有字符串的长度要求,对于主键类型或者外键类型的字段,通常要求非空。
在一种可选的实现方式中,将目标数据表导入实体模型之前,需要预先建立实体模型,本申请实施例中,如图6所示,建立实体模型的过程可以包括以下步骤:
步骤601、获取关系型数据库的元数据信息。
可选的,获取关系型数据库的元数据信息的过程可以是:获取关系型数据库的设计文档,设计文档中包括有数据库对象,其中,数据库对象可以是数据表,数据表索引,视图,数据表之间的关系示意图,缺省值,数据表中数据信息的约束规则,触发器,数据库账号和密码,函数等。
对关系型数据库的设计文档进行解析,得到关系型数据库的元数据信息,即对数据库对象进行解析,将获取到的数据库对象的元数据信息。
可选的,获取关系型数据库的元数据信息的过程还可以是:连接关系型数据库,从关系型数据库中直接获取关系型数据库的元数据信息。
步骤602、根据关系型数据库的元数据信息建立数据库模型。
可选的,本申请实施例中,数据库模型为面向对象数据库模型。
下面,本申请实施例对关系型数据库和面向对象数据库模型进行简单说明:
关系型数据库中的基本数据结构是表,而面向对象数据库模型中的基本数据结构是类。
对关系型数据库中的数据的操作都可以归结为对关系的运算。而面向对象数据库模型中,对类的操作可以包括封装在类内的操作,即方法;以及类间相互沟通的操作,即消息。面向对象数据库模型中可以用方法或消息表示对数据信息的约束规则。
步骤603、对数据库模型进行解析,得到实体元数据。
其中,实体元数据包括实体基本信息、实体关联信息、实体属性和实体方法。
可选的,本申请实施例中,对数据库模型进行解析,得到实体元数据的过程可以是:
对数据库模型进行解析,得到数据库模型对应的基本信息,可选的,基本信息可以是数据库的属性信息、级别信息、名称信息、备注信息、描述信息、字段信息、字段长度等。根据预设的转换规则,可以将数据库模型的基本信息转换为实体基本信息。
对数据库模型进行解析,可以得到数据库模型中对应的数据表之间的关系示意图,根据预设的转换规则,可以将数据表之间的关系示意图转换为实体关联信息,实体关联信息是指实体模型与其他实体模型之间的关联关系。
对数据库模型进行解析,可以得到数据库模型中对应的数据表的属性维度。本申请实施例中,数据表的属性维度可以是指数据表的列所对应的数据类型;根据预设的转换规则,可以将数据表的属性维度转换为实体属性。
对数据库模型进行解析,可以得到数据库模型中对应的方法,将该方法转换为实体方法。
步骤604、根据实体元数据建立实体模型。
可选的,本申请实施例中,根据实体元数据建立实体模型之后,还可以根据实体模型生成可视化界面,如图7所示,可视化界面用于展示实体模型的实体基本信息、实体关联信息、实体属性和实体方法。
需要说明的是,根据实体元数据建立实体模型之后,还可以对实体元数据进行完善。
在一种可选的实现方式中,对实体元数据进行完善的过程可以是:
获取新增指令,根据新增指令获取新增实体属性的属性名称和属性数据,并将新增实体属性的属性数据添加至实体模型的实体属性中。
其中,新增指令用于指示对实体元数据中的实体属性进行新增。
本申请实施例中,可以在可视化界面中展示新增端口,如图7中A区域所示,用户可以通过鼠标或者其他输入装置对可视化界面中展示的新增端口进行启动操作,新增端口启动之后,计算机设备可以获取新增指令,并基于新增指令在可视化界面中展示出新增窗口,新增窗口用于指示用户输入新增实体属性的属性名称和属性数据。
用户输入新增实体属性的属性名称和属性数据之后,可以在实体模型的实体属性中出现该新增实体属性。
在另一种可选的实现方式中,对实体元数据进行完善的过程可以是:
获取删除指令,根据删除指令,将待删除的实体属性从实体模型的实体属性中删除。
其中,删除指令包括待删除的实体属性,删除指令用于指示对待删除的实体属性进行删除。
本申请实施例中,可以在可视化界面中展示实体模型的实体属性,可选的,每个实体属性可以对应有选择端口,用户可以通过鼠标或者其他输入装置对通过对可视化界面中的选择端口进行点选操作,确定待删除的实体属性。进一步的,可以在可视化界面中展示删除端口,如图7中B区域所示,用户可以通过鼠标或者其他输入装置对可视化界面中展示的删除端口进行启动操作,删除端口启动之后,计算机设备可以获取删除指令,删除指令中包括了通过点选操作确定的待删除的实体属性。
计算机设备可以根据删除指令将待删除的实体属性从可视化界面中实体模型的实体属性中删除。
可选的,本申请实施例中,将待删除的实体属性删除包括将待删除的实体属性的属性名称和属性数据一起删除。
可选的,本申请实施例中,待删除的实体属性可以是多个。
在另一种可选的实现方式中,对实体元数据进行完善的过程可以是:
获取修改指令,根据修改指令获取待修改的实体属性的修改数据,将修改数据替换对应的属性数据。
其中,修改指令中包括待修改的实体属性。
本申请实施例中,可以在可视化界面中展示实体模型的实体属性,可选的,每个实体属性可以对应有选择端口,用户可以通过鼠标或者其他输入装置对通过对可视化界面中的选择端口进行点选操作,确定待修改的实体属性。进一步的,可以在可视化界面中展示修改端口,如图7中C区域所示,用户可以通过鼠标或者其他输入装置对可视化界面中展示的修改端口进行启动操作,修改端口启动之后,计算机设备可以获取修改指令,修改指令中包括了通过点选操作确定的待修改的实体属性。
可选的,本申请实施例中,计算机设备还可以根据修改指令在可视化界面中展示待修改的实体属性的属性数据。
可选的,本申请实施例中,用户可以在待修改的实体属性的多个属性数据中的任意一个或多个属性数据的数据窗口中输入修改数据,计算机设备可以获取该修改数据,并将该修改数据替换原数据窗口中的属性数据。
需要说明的是,本申请实施例中,每次修改指令可以对一个待修改的实体属性进行修改。
需要说明的是,本申请实施例中,还可以对实体关联关系进行添加、修改和删除操作。
本申请实施例中,通过对实体模型进行完善,可以得到最终的实体模型。
步骤203、控制实体模型根据目标数据表的属性信息将目标数据表的数据转换为实体属性对应的数据,得到目标数据表对应的实体类实例。
本申请实施例中,目标数据表导入实体模型之后,实体模型可以对目标数据表进行分析,通过分析可以得到目标数据表的属性信息,目标数据表的属性信息可以包括表名、字段名、字段类型、字段大小和主键值等。
实体模型可以基于目标数据表的属性信息,将目标数据表的属性信息一一映射到实体属性中,并将目标数据表的属性信息对应的数值型数据映射到实体属性的属性数据中,从而生成该目标数据表对应的实体类实例。
可选的,本申请实施例中,关系型数据库中包括多个数据表时,可以对每个数据表按照步骤201至步骤203的方案,得到数据表对应的实体类实例。
步骤204、根据实体类实例生成实体类代码,运行实体类代码可以将对实体模型的操作转换为对目标数据表的操作。
本申请实施例中,如图7中D形区域所示,在获取了实体类实例中的实体属性及其属性数据、实体类实例的关联信息及其关联对象以及实体方法的基础上,可以实现一键生成实体类代码。
当应用程序需要访问关系型数据库时,应用程序不直接访问数据库,而是对实体类进行操作,通过运行实体类代码,可以将应用程序对实体类的操作转换为对相应数据库的数据表的操作。
本申请实施例提供的实体类代码生成方法,可以自动地生成实体类代码。该方法,通过获取关系型数据库中的目标数据表,将目标数据表导入实体模型中,控制实体模型根据目标数据表的属性信息将目标数据表的数据转换为实体属性对应的数据,得到目标数据表对应的实体类实例。根据目标数据表对应的实体类实例生成实体类代码,运行实体类代码可以将对实体模型的操作转换为对目标数据表的操作。可见该技术方案可以将自动地将目标数据表转换为实体类实例,并基于实体类实例生成实体类代码,实现将对实体模型的操作转换为对目标数据表的操作。避免了手动编写实体类代码容易出现的代码输入错误以及效率低的问题。
请参考图8,其示出了本申请实施例提供的一种实体类代码生成装置的框图,该实体类代码生成装置可以配置在图1所示的计算机设备中。如图8所示,该实体类代码生成装置可以包括获取模块801,导入模块802、转换模块803和代码生成模块804。
获取模块801,用于获取关系型数据库中的目标数据表;
导入模块802,用于将目标数据表导入实体模型,实体模型包括实体属性,实体属性与目标数据表的属性信息一一映射,其中,目标数据表的属性信息包括表名、字段名、字段类型、字段大小和主键值;
转换模块803,用于控制实体模型根据目标数据表的属性信息将目标数据表的数据转换为实体属性对应的数据,得到目标数据表对应的实体类实例;
代码生成模块804,用于根据实体类实例生成实体类代码,运行实体类代码可以将对实体模型的操作转换为对目标数据表的操作。
在本申请的一个实施例中,导入模块802还用于获取关系型数据库的元数据信息;
根据关系型数据库的元数据信息建立数据库模型;
对数据库模型进行解析,得到实体元数据,实体元数据包括实体基本信息、实体关联信息、实体属性和实体方法;
根据实体元数据建立实体模型。
在本申请的一个实施例中,导入模块802还用于根据实体模型生成可视化界面,可视化界面用于展示实体模型的实体基本信息、实体关联信息、实体属性和实体方法。
在本申请的一个实施例中,导入模块802还用于获取关系型数据库的设计文档,对设计文档进行解析得到关系型数据库的元数据信息。
在本申请的一个实施例中,导入模块802还用于获取新增指令,新增指令用于指示对实体元数据中的实体属性进行新增;
根据新增指令获取新增实体属性的属性名称和属性数据,并将新增实体属性的属性名称和属性数据添加至实体模型的实体属性中。
在本申请的一个实施例中,导入模块802还用于获取删除指令,删除指令包括待删除的实体属性,删除指令用于指示对待删除的实体属性进行删除;
根据删除指令,将待删除的实体属性从实体模型的实体属性中删除。
在本申请的一个实施例中,导入模块802还用于获取修改指令,修改指令包括待修改的实体属性,修改指令用于指示对待修改的实体属性进行修改;
根据修改指令,获取待修改的实体属性的修改数据,将修改数据替换对应的属性数据。
关于实体类代码生成装置的具体限定可以参见上文中对于实体类代码生成方法的限定,在此不再赘述。上述实体类代码生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在本申请的一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
获取关系型数据库中的目标数据表;将目标数据表导入实体模型,实体模型包括实体属性,实体属性与目标数据表的属性信息一一映射,其中,目标数据表的属性信息包括表名、字段名、字段类型、字段大小和主键值;控制实体模型根据目标数据表的属性信息将目标数据表的数据转换为实体属性对应的数据,得到目标数据表对应的实体类实例;根据实体类实例生成实体类代码,运行实体类代码可以将对实体模型的操作转换为对目标数据表的操作。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:获取关系型数据库的元数据信息;根据关系型数据库的元数据信息建立数据库模型;对数据库模型进行解析,得到实体元数据,实体元数据包括实体基本信息、实体关联信息、实体属性和实体方法;根据实体元数据建立实体模型。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:根据实体模型生成可视化界面,可视化界面用于展示实体模型的实体基本信息、实体关联信息、实体属性和实体方法。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:获取关系型数据库的设计文档,对设计文档进行解析得到关系型数据库的元数据信息。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:获取新增指令,新增指令用于指示对实体元数据中的实体属性进行新增;根据新增指令获取新增实体属性的属性名称和属性数据,并将新增实体属性的属性名称和属性数据添加至实体模型的实体属性中。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:获取删除指令,删除指令包括待删除的实体属性,删除指令用于指示对待删除的实体属性进行删除;根据删除指令,将待删除的实体属性从实体模型的实体属性中删除。
在本申请的一个实施例中,处理器执行计算机程序时还实现以下步骤:获取修改指令,修改指令包括待修改的实体属性,修改指令用于指示对待修改的实体属性进行修改;根据修改指令,获取待修改的实体属性的修改数据,将修改数据替换对应的属性数据。
本申请实施例提供的计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在本申请的一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取关系型数据库中的目标数据表;将目标数据表导入实体模型,实体模型包括实体属性,实体属性与目标数据表的属性信息一一映射,其中,目标数据表的属性信息包括表名、字段名、字段类型、字段大小和主键值;控制实体模型根据目标数据表的属性信息将目标数据表的数据转换为实体属性对应的数据,得到目标数据表对应的实体类实例;根据实体类实例生成实体类代码,运行实体类代码可以将对实体模型的操作转换为对目标数据表的操作。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取关系型数据库的元数据信息;根据关系型数据库的元数据信息建立数据库模型;对数据库模型进行解析,得到实体元数据,实体元数据包括实体基本信息、实体关联信息、实体属性和实体方法;根据实体元数据建立实体模型。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据实体模型生成可视化界面,可视化界面用于展示实体模型的实体基本信息、实体关联信息、实体属性和实体方法。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取关系型数据库的设计文档,对设计文档进行解析得到关系型数据库的元数据信息。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取新增指令,新增指令用于指示对实体元数据中的实体属性进行新增;根据新增指令获取新增实体属性的属性名称和属性数据,并将新增实体属性的属性名称和属性数据添加至实体模型的实体属性中。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取删除指令,删除指令包括待删除的实体属性,删除指令用于指示对待删除的实体属性进行删除;根据删除指令,将待删除的实体属性从实体模型的实体属性中删除。
在本申请的一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取修改指令,修改指令包括待修改的实体属性,修改指令用于指示对待修改的实体属性进行修改;根据修改指令,获取待修改的实体属性的修改数据,将修改数据替换对应的属性数据。
本申请实施例提供的计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种实体类代码生成方法,其特征在于,所述方法包括:
获取关系型数据库中的目标数据表;
获取所述关系型数据库的元数据信息;
根据所述关系型数据库的元数据信息建立数据库模型;
对所述数据库模型进行解析,得到实体元数据,所述实体元数据包括实体基本信息、实体关联信息、实体属性和实体方法;
根据所述实体元数据建立实体模型;
将所述目标数据表导入所述实体模型,所述实体模型包括实体属性,所述实体属性与所述目标数据表的属性信息一一映射,其中,所述目标数据表的属性信息包括表名、字段名、字段类型、字段大小和主键值;
控制所述实体模型根据所述目标数据表的属性信息将所述目标数据表的数据转换为所述实体属性对应的数据,得到所述目标数据表对应的实体类实例;
根据所述实体类实例生成实体类代码,运行所述实体类代码可以将对所述实体模型的操作转换为对所述目标数据表的操作。
2.根据权利要求1所述的方法,其特征在于,所述获取关系型数据库中的目标数据表包括:
根据所述关系型数据库的配置文件信息,链接所述关系型数据库;其中,所述配置文件信息包括数据库地址、用户名和密码。
3.根据权利要求2所述的方法,其特征在于,所述根据所述实体元数据建立所述实体模型之后,所述方法还包括:
根据所述实体模型生成可视化界面,所述可视化界面用于展示所述实体模型的实体基本信息、实体关联信息、实体属性和实体方法。
4.根据权利要求2所述的方法,其特征在于,所述获取所述关系型数据库的元数据信息,包括:
获取所述关系型数据库的设计文档,对所述设计文档进行解析得到所述关系型数据库的元数据信息。
5.根据权利要求2所述的方法,其特征在于,所述根据所述实体类实例生成实体类代码之前,所述方法还包括:
获取新增指令,所述新增指令用于指示对所述实体元数据中的实体属性进行新增;
根据所述新增指令获取新增实体属性的属性名称和属性数据,并将所述新增实体属性的属性名称和属性数据添加至所述实体模型的实体属性中。
6.根据权利要求2所述的方法,其特征在于,所述根据所述实体类实例生成实体类代码之前,所述方法还包括:
获取删除指令,所述删除指令包括待删除的实体属性,所述删除指令用于指示对所述待删除的实体属性进行删除;
根据所述删除指令,将所述待删除的实体属性从所述实体模型的实体属性中删除。
7.根据权利要求2所述的方法,其特征在于,所述根据所述实体类实例生成实体类代码之前,所述方法还包括:
获取修改指令,所述修改指令包括待修改的实体属性,所述修改指令用于指示对所述待修改的实体属性进行修改;
根据所述修改指令,获取所述待修改的实体属性的修改数据,将所述修改数据替换对应的属性数据。
8.一种实体类代码生成装置,其特征在于,所述装置包括:
获取模块,用于获取关系型数据库中的目标数据表;
导入模块,用于获取所述关系型数据库的元数据信息;根据所述关系型数据库的元数据信息建立数据库模型;对所述数据库模型进行解析,得到实体元数据,所述实体元数据包括实体基本信息、实体关联信息、实体属性和实体方法;根据所述实体元数据建立实体模型;还用于将所述目标数据表导入实体模型,所述实体模型包括实体属性,所述实体属性与所述目标数据表的属性信息一一映射,其中,所述目标数据表的属性信息包括表名、字段名、字段类型、字段大小和主键值;
转换模块,用于控制所述实体模型根据所述目标数据表的属性信息将所述目标数据表的数据转换为所述实体属性对应的数据,得到所述目标数据表对应的实体类实例;
代码生成模块,用于根据所述实体类实例生成实体类代码,运行所述实体类代码可以将对所述实体模型的操作转换为对所述目标数据表的操作。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN201911281749.7A 2019-12-13 2019-12-13 实体类代码生成方法、装置、计算机设备及存储介质 Active CN111026777B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911281749.7A CN111026777B (zh) 2019-12-13 2019-12-13 实体类代码生成方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911281749.7A CN111026777B (zh) 2019-12-13 2019-12-13 实体类代码生成方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN111026777A CN111026777A (zh) 2020-04-17
CN111026777B true CN111026777B (zh) 2023-09-29

Family

ID=70208544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911281749.7A Active CN111026777B (zh) 2019-12-13 2019-12-13 实体类代码生成方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN111026777B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111611441B (zh) * 2020-05-22 2024-04-09 阳光财产保险股份有限公司 异构数据的处理方法、装置以及计算机设备
CN111881220B (zh) * 2020-06-22 2024-07-12 北京城市网邻信息技术有限公司 列表存储下的数据操作方法、装置、电子设备和存储介质
CN111736813B (zh) * 2020-06-24 2024-07-09 深圳前海微众银行股份有限公司 Jpa代码的生成方法、装置、终端设备及存储介质
CN111914537A (zh) * 2020-08-12 2020-11-10 杭州安恒信息技术股份有限公司 一种数据校验方法、装置、设备及可读存储介质
CN112051997A (zh) * 2020-08-20 2020-12-08 湖南新航动力信息科技有限公司 组件化和参数化的模型架构的建立方法、设备及存储介质
CN112148746B (zh) * 2020-08-21 2024-03-26 杭州安恒信息技术股份有限公司 生成数据库表结构文档的方法、装置、电子装置和存储介质
CN112131232B (zh) * 2020-08-28 2024-05-28 浪潮通用软件有限公司 一种基于元数据的Elasticsearch数据同步方法及装置
CN112052244A (zh) * 2020-09-08 2020-12-08 浙江省交通规划设计研究院有限公司 建立模型属性的方法、装置、电子设备及存储介质
CN112540995B (zh) * 2020-11-11 2022-12-02 上海赛美特软件科技有限公司 数据更新方法、电子设备及存储介质
CN114969879A (zh) * 2021-02-26 2022-08-30 广东博智林机器人有限公司 模型的关联处理方法、装置、设备及介质
CN114298561B (zh) * 2021-12-29 2023-06-09 上海赛美特软件科技有限公司 设备生产条件的生成方法、装置、电子设备及存储介质
CN114895912A (zh) * 2022-06-07 2022-08-12 康键信息技术(深圳)有限公司 编码架构下实体类对象的转换方法、装置、设备及介质
CN114721647B (zh) * 2022-06-10 2022-09-16 杭州普数软件有限公司 一种基于无代码应用开发的面向对象编程方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995003586A1 (en) * 1993-07-21 1995-02-02 Persistence Software, Inc. Method and apparatus for generation of code for mapping relational data to objects
CN103226478A (zh) * 2013-05-22 2013-07-31 北京金和软件股份有限公司 一种自动生成并使用代码的方法
CN105677324A (zh) * 2015-12-31 2016-06-15 合肥大多数信息科技有限公司 一种自动生成实体类代码的方法
CN107357588A (zh) * 2017-07-19 2017-11-17 万帮充电设备有限公司 目标代码生成方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8930397B2 (en) * 2013-02-04 2015-01-06 Bank Of America Corporation Multi-row database updating for enterprise workflow application

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995003586A1 (en) * 1993-07-21 1995-02-02 Persistence Software, Inc. Method and apparatus for generation of code for mapping relational data to objects
CN103226478A (zh) * 2013-05-22 2013-07-31 北京金和软件股份有限公司 一种自动生成并使用代码的方法
CN105677324A (zh) * 2015-12-31 2016-06-15 合肥大多数信息科技有限公司 一种自动生成实体类代码的方法
CN107357588A (zh) * 2017-07-19 2017-11-17 万帮充电设备有限公司 目标代码生成方法及装置

Also Published As

Publication number Publication date
CN111026777A (zh) 2020-04-17

Similar Documents

Publication Publication Date Title
CN111026777B (zh) 实体类代码生成方法、装置、计算机设备及存储介质
CN111563368B (zh) 报表生成方法、装置、计算机设备和存储介质
CN109670053B (zh) 数据对象映射方法、装置、设备和计算机可读存储介质
CN108874924B (zh) 搜索服务的创建方法、装置及计算机可读存储介质
US9104724B2 (en) Dynamic bridging of application and data servers
CN104731588B (zh) 页面布局文件生成方法和页面布局文件生成装置
CN111061475B (zh) 软件代码生成方法、装置、计算机设备和存储介质
CN108563694B (zh) 对逻辑删除的sql执行方法、装置、计算机设备和存储介质
CN109710220B (zh) 关系型数据库查询方法、装置、设备及存储介质
CN101634942A (zh) 一种动态创建数据表的方法和系统
JP2022545489A (ja) スマートコントラクトのクライアントプログラムの生成方法、システム、機器、及び媒体
WO2018233673A1 (zh) 一种控制器中模型代码配置方法和装置、存储介质
CN114138748A (zh) 数据库映射文件生成方法、装置、设备及存储介质
CN111078217A (zh) 脑图生成方法、装置和计算机可读存储介质
CN109829141B (zh) 一种项目表格生成方法及装置
JP4719212B2 (ja) オブジェクトおよびエンティティの表示を構築するための方法および装置
CN110727777A (zh) 知识图谱的管理方法、装置、计算机设备和存储介质
KR102490941B1 (ko) 엑셀 도구를 이용한 온라인 보고서 작성 시스템
CN109298858A (zh) 一种基于Qt资源文件的Excel文档生成方法及系统
CN108845793B (zh) 一种orm设计方法及装置
CN116955393A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN109725891A (zh) 业务模块快速生成的方法及装置
CN113608748B (zh) C语言转换Java语言的数据处理方法、装置及设备
CN113076086B (zh) 元数据管理系统和使用其对模型对象进行建模的方法
CN112416966B (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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 510000 No. 11 Kexiang Road, Science City, Luogang District, Guangzhou City, Guangdong Province

Patentee after: CHINA SOUTHERN POWER GRID Co.,Ltd.

Country or region after: China

Patentee after: Southern Power Grid Digital Grid Research Institute Co.,Ltd.

Address before: 510000 No. 11 Kexiang Road, Science City, Luogang District, Guangzhou City, Guangdong Province

Patentee before: CHINA SOUTHERN POWER GRID Co.,Ltd.

Country or region before: China

Patentee before: Southern Power Grid Digital Grid Research Institute Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240313

Address after: Full Floor 14, Unit 3, Building 2, No. 11, Middle Spectra Road, Huangpu District, Guangzhou, Guangdong 510700

Patentee after: China Southern Power Grid Digital Grid Technology (Guangdong) Co.,Ltd.

Country or region after: China

Address before: 510000 No. 11 Kexiang Road, Science City, Luogang District, Guangzhou City, Guangdong Province

Patentee before: CHINA SOUTHERN POWER GRID Co.,Ltd.

Country or region before: China

Patentee before: Southern Power Grid Digital Grid Research Institute Co.,Ltd.