CN112817592A - 一种基于实体注解的自动代码生成方法 - Google Patents

一种基于实体注解的自动代码生成方法 Download PDF

Info

Publication number
CN112817592A
CN112817592A CN202110105422.5A CN202110105422A CN112817592A CN 112817592 A CN112817592 A CN 112817592A CN 202110105422 A CN202110105422 A CN 202110105422A CN 112817592 A CN112817592 A CN 112817592A
Authority
CN
China
Prior art keywords
entity
class
generating
field
annotation
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
CN202110105422.5A
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.)
Sichuan Tianyi Network Service Co ltd
Original Assignee
Sichuan Tianyi Network Service 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 Sichuan Tianyi Network Service Co ltd filed Critical Sichuan Tianyi Network Service Co ltd
Priority to CN202110105422.5A priority Critical patent/CN112817592A/zh
Publication of CN112817592A publication Critical patent/CN112817592A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation

Abstract

本发明公开了一种基于实体注解的自动代码生成方法,包括如下步骤:步骤1:定义实体关系模型,编写实体类代码及其注解;步骤2:读取指定实体类的全部类、字段及注解信息,在目标数据库生成数据表、字段;步骤3:根据类、字段基本信息,生成服务端实体映射、数据访问、业务逻辑、界面控制层代码;步骤4:生成前端代码;步骤5:运行效果检测。本发明的有益效果:根据字段类型,自动生成对应的输入控件和检查代码,支持日期、数字、枚举、文件类型等常见字段类型;支持外键字段列表显示,支持表单外键字段单选、多选录入和展示;根据实体类元数据信息,支持字段分组、个性化排序,支持自动生成简单、复杂类表单代码。

Description

一种基于实体注解的自动代码生成方法
技术领域
本发明涉及计算机领域,具体的,涉及一种基于实体注解的自动代码生成方法。
背景技术
MIS(Management Infomation System)管理信息系统、行业应用的开发,涉及到大量的信息增、删、改、查的基本操作功能(简称CURD),特别是一些基于表单的信息系统,这些基本操作会占到整个项目开发工作量的50%以上。该类开发有以下特点:业务简单,技术含量低;重复度高;编码工作量大、耗时长。
随着ORM技术的应用,业界也有一些针对该类CURD的自动代码生成,可以自动生成基于ORM技术的实体映射、数据实体、数据访问、业务逻辑和界面展示层代码,帮助开发人员简化开发流程,减少开发工作量,但大部分解决方案存在以下问题:自动生成的代码偏重于后台服务代码,前端代码过于简单;不能根据数据字段的类型,生成不同的输入控件,例如日期类型字段,自动生成日期类控件代码;不能依据数据库设计的外键关系,自动生成外键实体的文本显示和录入界面;不能方便的根据实体信息特点,自动生成不同风格的表单,例如对复杂表单,可能需要多列展示、分区展示等。
发明内容
本发明的目的在于,针对上述问题,提出一种基于实体注解的自动代码生成方式。
一种基于实体注解的自动代码生成方法,包括如下步骤:
步骤1:定义实体关系模型,编写实体类代码及其注解;
步骤2:读取指定实体类的全部类、字段及注解信息,在目标数据库生成数据表、字段;
步骤3:根据类、字段基本信息,生成服务端实体映射、数据访问、业务逻辑、界面控制层代码;
步骤4:生成前端代码;
步骤5:运行效果检测。
所述步骤4具体包括如下子步骤:
步骤41:根据类注解,选择对应的风格模板;
步骤42:根据列表类注解,生成实体类列表页面。
步骤43:根据字段类注解,生成包含自动控件、外键选择器、字段分组和提交检查规则的Form表单页面。
优选的,风格模板采用Freemarker格式。
本发明的有益效果:通过元数据、模版技术,提供更加复杂、灵活的前端代码自动框架,更符合实战要求。根据字段类型,自动生成对应的输入控件和检查代码,支持日期、数字、枚举、文件类型等常见字段类型;支持外键字段列表显示,支持表单外键字段单选、多选录入和展示;根据实体类元数据信息,支持字段分组、个性化排序,支持自动生成简单、复杂类表单代码。
附图说明
图1为本发明的工作流程图。
具体实施方式
下面结合附图对本发明作进一步的说明。
如图1所示,一种基于实体注解的自动代码生成方法,包括如下步骤:
步骤1:定义实体关系模型,编写实体类代码及其注解;
步骤2:读取指定实体类的全部类、字段及注解信息,在目标数据库生成数据表、字段;
步骤3:根据类、字段基本信息,生成服务端实体映射、数据访问、业务逻辑、界面控制层代码;
步骤4:生成前端代码;
步骤5:运行效果检测。
所述步骤4具体包括如下子步骤:
步骤41:根据类注解,选择对应的风格模板;
步骤42:根据列表类注解,生成实体类列表页面。
步骤43:根据字段类注解,生成包含自动控件、外键选择器、字段分组和提交检查规则的Form表单页面。
需要理解的是,风格模板采用Freemarker格式。
需要说明的是,表1为实体类新增注解。
表1实体类新增注解
注解对象 注解 功能说明
实体类属性 @Enun 枚举字段
实体类属性 @Dict 数据字典字段
实体类属性 @ForeignKey 外键字段
实体类属性 @Group 字段分组
实体类属性 @ListColumn 列表展示字段
实体类属性 @Query 查询检索器字段
实体类 @FormStyle 指定表单风格

Claims (3)

1.一种基于实体注解的自动代码生成方法,其特征在于,包括如下步骤:
步骤1:定义实体关系模型,编写实体类代码及其注解;
步骤2:读取指定实体类的全部类、字段及注解信息,在目标数据库生成数据表、字段;
步骤3:根据类、字段基本信息,生成服务端实体映射、数据访问、业务逻辑、界面控制层代码;
步骤4:生成前端代码;
步骤5:运行效果检测。
2.如权利要求1所述一种基于实体注解的自动代码生成方法,其特征在于,所述步骤4具体包括如下子步骤:
步骤41:根据类注解,选择对应的风格模板;
步骤42:根据列表类注解,生成实体类列表页面;
步骤43:根据字段类注解,生成包含自动控件、外键选择器、字段分组和提交检查规则的Form表单页面。
3.如权利要求2所述一种基于实体类注解的自动代码生成方法,其特征在于,风格模板采用Freemarker格式。
CN202110105422.5A 2021-01-26 2021-01-26 一种基于实体注解的自动代码生成方法 Pending CN112817592A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110105422.5A CN112817592A (zh) 2021-01-26 2021-01-26 一种基于实体注解的自动代码生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110105422.5A CN112817592A (zh) 2021-01-26 2021-01-26 一种基于实体注解的自动代码生成方法

Publications (1)

Publication Number Publication Date
CN112817592A true CN112817592A (zh) 2021-05-18

Family

ID=75859467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110105422.5A Pending CN112817592A (zh) 2021-01-26 2021-01-26 一种基于实体注解的自动代码生成方法

Country Status (1)

Country Link
CN (1) CN112817592A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116501436A (zh) * 2023-06-29 2023-07-28 成都融见软件科技有限公司 最大化显示芯片设计代码注解的方法、电子设备和介质
WO2023193135A1 (zh) * 2022-04-06 2023-10-12 京东方科技集团股份有限公司 业务编码解释织入方法、业务服务系统和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104049957A (zh) * 2013-03-13 2014-09-17 成都泰聚泰科技有限公司 基于星形结构的通用业务模型的快速建模框架
CN106648587A (zh) * 2016-09-28 2017-05-10 福州宇嘉软件科技有限公司 一种基于注解的Web应用代码生成方法
CN109189379A (zh) * 2018-09-04 2019-01-11 百度在线网络技术(北京)有限公司 代码生成方法和装置
CN110941423A (zh) * 2019-11-22 2020-03-31 深圳市航通智能技术有限公司 一种基于Java的快速生成代码方法
US20200272438A1 (en) * 2019-02-26 2020-08-27 Sap Se Generating Interfaces From Annotated Entity Definitions For Developing Applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104049957A (zh) * 2013-03-13 2014-09-17 成都泰聚泰科技有限公司 基于星形结构的通用业务模型的快速建模框架
CN106648587A (zh) * 2016-09-28 2017-05-10 福州宇嘉软件科技有限公司 一种基于注解的Web应用代码生成方法
CN109189379A (zh) * 2018-09-04 2019-01-11 百度在线网络技术(北京)有限公司 代码生成方法和装置
US20200272438A1 (en) * 2019-02-26 2020-08-27 Sap Se Generating Interfaces From Annotated Entity Definitions For Developing Applications
CN110941423A (zh) * 2019-11-22 2020-03-31 深圳市航通智能技术有限公司 一种基于Java的快速生成代码方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023193135A1 (zh) * 2022-04-06 2023-10-12 京东方科技集团股份有限公司 业务编码解释织入方法、业务服务系统和存储介质
CN116501436A (zh) * 2023-06-29 2023-07-28 成都融见软件科技有限公司 最大化显示芯片设计代码注解的方法、电子设备和介质
CN116501436B (zh) * 2023-06-29 2023-09-08 成都融见软件科技有限公司 最大化显示芯片设计代码注解的方法、电子设备和介质

Similar Documents

Publication Publication Date Title
CN105144080B (zh) 用于元数据管理的系统
CN104133772A (zh) 一种自动生成测试数据的方法
CN100388289C (zh) 面向复杂装备多学科设计软件集成的参数映射方法
CN115061721A (zh) 一种报表生成方法、装置、计算机设备及存储介质
CN112817592A (zh) 一种基于实体注解的自动代码生成方法
US20120158742A1 (en) Managing documents using weighted prevalence data for statements
CN109299074B (zh) 一种基于模板化数据库视图的数据校验方法及系统
CN109871406B (zh) 通用监控报表平台的设计方法
CN104536987A (zh) 一种查询数据的方法及装置
CN111125116A (zh) 定位业务表中代码字段及对应代码表的方法及系统
CN103246753A (zh) 一种根据数据库结构生成实体元数据模型的方法
CN114444465A (zh) 信息抽取方法、装置、设备及存储介质
CN112364041B (zh) 一种数据处理方法、装置、计算机设备及存储介质
CN102479072B (zh) 一种多表头报表的生成方法、装置及终端
CN116680290A (zh) 基于数据中台的数据查询方法及装置
WO2022262240A1 (zh) 数据处理方法、电子设备及存储介质
CN116227454A (zh) 一种通用的自动化报告生成方法及系统
CN109582411A (zh) 图形用户界面生成方法、装置、计算机设备及存储介质
CN112560416B (zh) 页面图表生成方法、装置、电子设备及存储介质
CN114547106A (zh) 数据查询方法及装置、存储介质、计算机系统
CN113687827A (zh) 基于微件的数据列表生成方法、装置、设备及存储介质
US20060085446A1 (en) Indirect persistent storage for plugin in container
CN111400396A (zh) 数据同步脚本的生成方法、装置及计算机可读存储介质
CN110968591A (zh) 查询语句的生成方法、装置、存储介质及处理器
CN112130841B (zh) Sql开发方法、装置及终端设备

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210518

RJ01 Rejection of invention patent application after publication