CN105677324A - 一种自动生成实体类代码的方法 - Google Patents

一种自动生成实体类代码的方法 Download PDF

Info

Publication number
CN105677324A
CN105677324A CN201511013791.2A CN201511013791A CN105677324A CN 105677324 A CN105677324 A CN 105677324A CN 201511013791 A CN201511013791 A CN 201511013791A CN 105677324 A CN105677324 A CN 105677324A
Authority
CN
China
Prior art keywords
field
entity class
entity type
class code
name
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
CN201511013791.2A
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.)
Hefei D2s Soft Information Technology Co Ltd
Original Assignee
Hefei D2s Soft Information 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 Hefei D2s Soft Information Technology Co Ltd filed Critical Hefei D2s Soft Information Technology Co Ltd
Priority to CN201511013791.2A priority Critical patent/CN105677324A/zh
Publication of CN105677324A publication Critical patent/CN105677324A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种自动生成实体类代码的方法,包括:根据配置文件信息,连接数据库;获取数据库的所有数据表,从数据表中读取关键信息,所述关键信息包括表名、字段名、字段类型、字段大小和主键;套用预先设定的实体类代码编程模板,将读取的关键信息进行转换操作和定义操作,生成相应的实体类代码。本发明可自适应目前所有主流数据库和编程语言,无论数据表量多少,通过套用预先设定的实体类代码编程模板,能够自动生成实体类代码,节约了开发时间,并且便于修改,避免了程序员在代码编辑中的错误发生。

Description

一种自动生成实体类代码的方法
技术领域
本发明涉及基于数据库操作的面向对象的程序设计技术领域,具体是一种自动生成实体类代码的方法。
背景技术
面向对象程序设计时,程序员需要针对不同的数据库配置来编写格式相对固定的程序代码,并且在数据库变换时,需要逐一去修改代码,并且在编写和修改的过程中可能会出现各种错误,大大地浪费了程序员的时间,影响开发效率。
现有的一些实体类代码生成方法只是一定程度上的集成和封装,不关联数据库,编写时只需要数据库相应的字段名和字段类型,采用的编程工具,如VS、eclipse等,可以通过与数据库建立连接,生成格式固定的实体类代码,但格式和属性相对固定,不能满足一些特定的需求。
发明内容
本发明的目的在于提供一种自动生成实体类代码的方法,该方法能够基于目前主流的数据库,针对不同的编程语言和多种不同的系统,自动生成实体类代码。
本发明的技术方案为:
一种自动生成实体类代码的方法,包括以下步骤:
(1)根据配置文件信息,连接数据库;
(2)获取数据库的所有数据表,从数据表中读取关键信息,所述关键信息包括表名、字段名、字段类型、字段大小和主键;
(3)套用预先设定的实体类代码编程模板,将读取的关键信息进行转换操作和定义操作,生成相应的实体类代码;
所述转换操作包括将表名转换为实体类名、将字段名转换为实体类属性、将字段类型转换为属性类型;所述定义操作包括根据字段大小和主键,定义申请存储空间和定义字段非空。
所述的自动生成实体类代码的方法,步骤(2)中,所述获取数据库的所有数据表,具体采用反射法。
本发明的有益效果为:
由上述技术方案可知,本发明可自适应目前所有主流数据库和编程语言,无论数据表量多少,通过套用预先设定的实体类代码编程模板,能够自动生成实体类代码,节约了开发时间,并且便于修改,避免了程序员在代码编辑中的错误发生。
附图说明
图1是本发明的方法流程图。
具体实施方式
下面结合附图和具体实施例进一步说明本发明。
如图1所示,一种自动生成实体类代码的方法,包括以下步骤:
S1、根据配置文件,建立数据库连接;
配置文件包含了数据库(数据库类型、IP、实例名、用户名、密码等)、编程语言信息,针对不同数据库、不同编程语言,采用相应的方法连接数据库。
S2、采用反射法获取数据库的所有数据表和数据表中的关键信息,关键信息包括表名、字段名、字段类型、字段大小、主键等。
S3、套用预先设定的实体类代码编程模板,根据获取的数据库信息自动生成相应的实体类代码;
针对不同编程语言和不同数据库,进行对应的转换,基本对应关系:
表名——实体类名,字段名——实体类属性,字段类型——属性类型,并且根据字段大小和主键等信息,定义申请存储空间、定义字段非空等。
在上述操作中,可根据不同的开发需求,自由定制实体类代码的格式和属性模板,方便在以后的编程中使用。
本发明可基于目前主流的数据库,如Oracle、Sqlserver、MySQL、Access等,可针对不同的编程语言,如JAVA、C#等,可针对多种不同的系统使用,如Windows、Android等。
本发明可适用于基于数据库的面向对象程序设计中,可在编写项目前自动生成实体类代码并放在固定的文件夹下,导入项目中即可使用,具体过程如下:
a、填写配置文件,config.xml,配置数据库连接方法以及使用的编程语言;
b、编辑模板,使生成的实体类代码符合个人或项目要求风格;
c、运行工具,生成实体类代码,保存在相应文件夹下,一般默认为entity;
d、将entity导入编程工具,如VS、eclipse的项目中即可使用。
以上所述实施方式仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案作出的各种变形和改进,均应落入本发明的权利要求书确定的保护范围内。

Claims (2)

1.一种自动生成实体类代码的方法,其特征在于,包括以下步骤:
(1)根据配置文件信息,连接数据库;
(2)获取数据库的所有数据表,从数据表中读取关键信息,所述关键信息包括表名、字段名、字段类型、字段大小和主键;
(3)套用预先设定的实体类代码编程模板,将读取的关键信息进行转换操作和定义操作,生成相应的实体类代码;
所述转换操作包括将表名转换为实体类名、将字段名转换为实体类属性、将字段类型转换为属性类型;所述定义操作包括根据字段大小和主键,定义申请存储空间和定义字段非空。
2.根据权利要求1所述的自动生成实体类代码的方法,其特征在于,步骤(2)中,所述获取数据库的所有数据表,具体采用反射法。
CN201511013791.2A 2015-12-31 2015-12-31 一种自动生成实体类代码的方法 Pending CN105677324A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511013791.2A CN105677324A (zh) 2015-12-31 2015-12-31 一种自动生成实体类代码的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511013791.2A CN105677324A (zh) 2015-12-31 2015-12-31 一种自动生成实体类代码的方法

Publications (1)

Publication Number Publication Date
CN105677324A true CN105677324A (zh) 2016-06-15

Family

ID=56297768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511013791.2A Pending CN105677324A (zh) 2015-12-31 2015-12-31 一种自动生成实体类代码的方法

Country Status (1)

Country Link
CN (1) CN105677324A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446182A (zh) * 2016-09-29 2017-02-22 贵州云众知乐教育科技有限公司 一种数据库引擎
CN107025105A (zh) * 2016-09-23 2017-08-08 阿里巴巴集团控股有限公司 代码生成方法及装置
CN108052549A (zh) * 2017-11-27 2018-05-18 中山路得斯空调有限公司 一种将源数据自动转换为实体类代码的方法
CN109189383A (zh) * 2018-08-28 2019-01-11 厦门海迈科技股份有限公司 代码文件的生成方法、装置、计算设备和存储介质
CN109725893A (zh) * 2018-05-17 2019-05-07 平安普惠企业管理有限公司 代码生成方法、设备、装置及计算机可读存储介质
CN110309145A (zh) * 2019-04-15 2019-10-08 中国银行股份有限公司 一种数据表调整方法、数据表创建方法及装置
CN111026777A (zh) * 2019-12-13 2020-04-17 中国南方电网有限责任公司 实体类代码生成方法、装置、计算机设备及存储介质
CN111061475A (zh) * 2019-12-13 2020-04-24 中国南方电网有限责任公司 软件代码生成方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101819530A (zh) * 2010-04-30 2010-09-01 山东中创软件工程股份有限公司 一种程序对象生成方法、装置及计算机
CN102253975A (zh) * 2011-06-16 2011-11-23 上海博康智能网络科技有限公司 一种数据库自动转换系统及方法
CN103226478A (zh) * 2013-05-22 2013-07-31 北京金和软件股份有限公司 一种自动生成并使用代码的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101819530A (zh) * 2010-04-30 2010-09-01 山东中创软件工程股份有限公司 一种程序对象生成方法、装置及计算机
CN102253975A (zh) * 2011-06-16 2011-11-23 上海博康智能网络科技有限公司 一种数据库自动转换系统及方法
CN103226478A (zh) * 2013-05-22 2013-07-31 北京金和软件股份有限公司 一种自动生成并使用代码的方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107025105A (zh) * 2016-09-23 2017-08-08 阿里巴巴集团控股有限公司 代码生成方法及装置
CN107025105B (zh) * 2016-09-23 2020-10-16 阿里巴巴集团控股有限公司 代码生成方法及装置
CN106446182A (zh) * 2016-09-29 2017-02-22 贵州云众知乐教育科技有限公司 一种数据库引擎
CN108052549A (zh) * 2017-11-27 2018-05-18 中山路得斯空调有限公司 一种将源数据自动转换为实体类代码的方法
CN109725893A (zh) * 2018-05-17 2019-05-07 平安普惠企业管理有限公司 代码生成方法、设备、装置及计算机可读存储介质
CN109189383A (zh) * 2018-08-28 2019-01-11 厦门海迈科技股份有限公司 代码文件的生成方法、装置、计算设备和存储介质
CN110309145A (zh) * 2019-04-15 2019-10-08 中国银行股份有限公司 一种数据表调整方法、数据表创建方法及装置
CN111026777A (zh) * 2019-12-13 2020-04-17 中国南方电网有限责任公司 实体类代码生成方法、装置、计算机设备及存储介质
CN111061475A (zh) * 2019-12-13 2020-04-24 中国南方电网有限责任公司 软件代码生成方法、装置、计算机设备和存储介质
CN111026777B (zh) * 2019-12-13 2023-09-29 中国南方电网有限责任公司 实体类代码生成方法、装置、计算机设备及存储介质
CN111061475B (zh) * 2019-12-13 2023-12-12 中国南方电网有限责任公司 软件代码生成方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN105677324A (zh) 一种自动生成实体类代码的方法
CN105677323A (zh) 一种自动生成数据库操作层代码的方法
CN111026777B (zh) 实体类代码生成方法、装置、计算机设备及存储介质
CN110955410B (zh) 一种代码自动生成方法、装置、设备及介质
CN101841515B (zh) 可变目标的协议数据单元编解码代码自动生成的实现方法
US9405518B2 (en) Leveraging legacy applications for use with modern applications
CN103049251B (zh) 一种数据库持久层装置及数据库操作方法
CN106293664A (zh) 代码生成方法及装置
CN106648587A (zh) 一种基于注解的Web应用代码生成方法
CN103412868A (zh) 文书生成方法及装置
KR101770292B1 (ko) 컴퓨터 수행 가능한 모델 역공학 방법 및 장치
WO2018233673A1 (zh) 一种控制器中模型代码配置方法和装置、存储介质
CN105354036A (zh) 数据库操作代码生成方法及装置
US9652478B2 (en) Method and apparatus for generating an electronic document schema from a relational model
CN111190587A (zh) 一种基于jdbc自动生成工程化前端代码的方法及系统
CN102681852A (zh) 基于JavaEE的敏捷开发方法
CN111061475A (zh) 软件代码生成方法、装置、计算机设备和存储介质
CN102521008B (zh) 程序编译装置和程序编译方法
CN104731588A (zh) 页面布局文件生成方法和页面布局文件生成装置
CN105278991A (zh) 一种云应用部署配置模型的构造方法
Le et al. Domain-driven design using meta-attributes: A DSL-based approach
CN106776779B (zh) 基于Mac平台的JSON数据生成实体文件的方法
CN108536660A (zh) 一种自定义报表的生成方法及终端
CN103677819A (zh) 基于osgi的代码正向工程的实现方法和实现装置
CN113608748A (zh) C语言转换Java语言的数据处理方法、装置及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160615