CN103473108A - 一种Java代码生成方法 - Google Patents
一种Java代码生成方法 Download PDFInfo
- Publication number
- CN103473108A CN103473108A CN2013103493186A CN201310349318A CN103473108A CN 103473108 A CN103473108 A CN 103473108A CN 2013103493186 A CN2013103493186 A CN 2013103493186A CN 201310349318 A CN201310349318 A CN 201310349318A CN 103473108 A CN103473108 A CN 103473108A
- Authority
- CN
- China
- Prior art keywords
- module
- code
- data
- definition
- template
- 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
Links
Images
Abstract
一种Java代码生成方法,该方法需提供一模板模块、数据解析模块、代码生成模块和数据模块,代码生成模块中定义有源代码自动生成脚本;具体操作方法:提取元数据,将元数据进行定义形成元数据文件,并存储于数据模块中;数据解析模块提取元数据文件,解析出元数据,同时从模板模块获取代码模板,并把元数据转换为模板对象;代码模板中具有用于标识所述模板对象的命名参数;代码生成模块执行所述源代码自动生成脚本,使用所述模板对象对所述代码模板中的命名参数进行赋值,生成复数个源代码文件,并保存在数据模块中且对应于所述元数据文件所在位置处;本发明具有可维护性高、代码一致性好、可重用性强,提高了开发效率,降低了人力成本。
Description
技术领域
本发明具体涉及一种Java代码生成方法。
背景技术
现有代码生成方法一般分为两大类:被动代码生成方法和主动代码生成方法。在被动代码生成方法中,一般采用可视化向导的方式配置生成部分代码,然后软件开发人员对代码进行必要的编辑修改,这种生成过程只进行一次,不对已修改的代码进行维护;目前大部分的集成开发环境(IntegratedDevelopment Environment,IDE)或者编辑器就包含有这种代码生成方法。但是这种代码生成方法的局限性也是显而易见的,IDE或者编辑器只负责生成一次,剩下的工作量都是软件开发人员的,重新生成将会覆盖已修改的代码,而且也只适用于部分场景,可配置性不足。
在主动代码生成方法中,软件开发人员同样可对生成的代码进行编辑修改,而改动后的代码可以作为参数导入生成器,生成器保留改动后的代码,并影响之后的代码生成,同时可配置性以及适用范围都比被动代码生成方法更好,目前编译器类型的生成器属于主动代码生成方法。然而,现有的主动代码生成方法是直接通过数据库表进行的,由数据库表开始解析,必须转化出对应某一种数据库的建表脚本创建数据库,这要求代码生成方法要适配于多种主流数据库。另外,虽然可对单个新添加的数据库表单独生成代码,但是生成的代码全部混合放置于各个层次的包中,不能按照数据相关性分包分类生成,无法简便地在数据库模型阶段引入自定义标识、检索、异常等逻辑。
发明内容
本发明所要解决的技术问题在于提供一种Java代码生成方法,具有可维护性高、代码一致性好、可重用性强,提高了开发效率,降低了人力成本。
本发明是通过以下技术方案解决上述技术问题的:一种Java代码生成方法,该方法需提供一模板模块、数据解析模块、代码生成模块和数据模块,所述代码生成模块中定义有一源代码自动生成脚本;所述Java代码生成方法的具体操作方法如下:
步骤10:将元数据进行解释定义,形成一元数据文件,并存储于所述数据模块中;所述元数据用于描述数据结构、数据库中的要素及要素之间关联关系信息的数据;
步骤20:所述数据解析模块提取所述元数据文件,并解析出元数据,同时从所述模板模块获取代码模板,并根据所述代码模板封装元数据,把元数据转换为模板对象,最后将所述代码模板和模板对象交给代码生成模块;所述代码模板中具有用于标识所述模板对象的命名参数;
步骤30:代码生成模块执行所述源代码自动生成脚本,使用所述模板对象对所述代码模板中的命名参数进行赋值,生成复数个源代码文件,并保存在数据模块中且对应于所述元数据文件所在位置处,该元数据文件所在位置处为:步骤10中元数据文件存储在数据模块中的地址位置。
进一步地,所述步骤10中的元数据定义为6种类型,包括实体定义、属性定义、方法定义、关联关系定义、异常定义和权限定义;
所述实体定义用于指定代码的实体类,其对应着一数据库的数据库表;
所述属性定义用于指定实体类下的属性,其对应着一数据库的数据库表字段;
所述方法定义用于指定实体类下对一数据库进行操作的方法,其对应着基本数据操作;
所述关联关系定义用于指定各实体类之间的引用关系,其对应着一数据库的数据库表之间的关联关系;
所述异常定义用于生成一实体类的异常类,以精确定位异常;
所述权限定义用于定义功能模块,并为各功能模块分别加上权限限制。
进一步地,所述复数个源代码文件的逻辑架构分为数据模型层、数据持久层和业务逻辑层;所述数据模型层与一数据库对应,数据模型层中的每一实体类均对应于该数据库中的一数据库表;所述数据库持久层对应于所述数据库的基本数据操作;所述业务逻辑层为各功能模块提供业务逻辑;
所述数据持久层调用数据模型层操作数据库,所述业务逻辑层调用数据持久层,把各种业务逻辑处理完的数据写入数据库相关联的数据库表中,同时处理写入过程中上报的异常,精确定位到具体实体类的何种异常。
进一步地,所述步骤30中,代码生成模块执行所述源代码自动生成脚本后,代码生成模块还生成一权限控制模块和一授权服务模块;所述权限控制模块用于对各功能模块设置访问权限,所述授权服务模块用于对用户访问数据模块的访问请求进行访问权限检测;
所述Java代码生成方法还包括以下内容:
步骤40:代码生成模块再次执行所述源代码自动生成脚本,然后检测所述功能模块和业务逻辑层是否存在变更,若是,则执行步骤50;若否,则结束流程;
步骤50:结合所述元数据的权限定义中为各功能模块所设置的权限,权限控制模块为各功能模块分别加上访问权限控制,生成具有权限控制的本地服务代码。
进一步地,所述代码生成模块中还定义有一数据库初始化生成脚本;
步骤20和步骤30之间还包括步骤21:代码生成模块执行数据库初始化生成脚本,并采用所述模板对象对所述代码模板中的命名参数进行赋值,生成数据库建表脚本,并保存于数据模块中。
进一步地,所述元数据文件为XML文档格式文件。
本发明的有益效果在于:相对于现有的直接通过数据库表进行Java代码生成的方法,本发明使用了元数据文件即XML文本作为元数据的载体,不过度依赖于具体的数据库,本发明按照所述元数据文件单独进行代码生成,所述元数据文件可只对应一张数据库表,也可对应多个耦合度高的库表,且生成的源代码文件按所述元数据文件分包,再分层分类,结构更加简明清晰;具有可维护性高、代码一致性好、可重用性强等优势,本发明通过在多个实际项目中的实践,自动生成的代码占了整个系统源代码的大部分,显著提高了开发效率,减少了开发人员的数量,降低了人力成本。
附图说明
下面参照附图结合实施例对本发明作进一步的描述。
图1为本发明一种Java代码生成方法的原理框图。
图2为本发明中数据模块的原理框图。
具体实施方式
请参阅图1,一种Java代码生成方法,该方法需提供一模板模块、数据解析模块、代码生成模块和数据模块,所述代码生成模块中定义有一源代码自动生成脚本和一数据库初始化生成脚本;
所述Java代码生成方法的具体操作方法如下:
步骤10:将元数据进行定义形成一XML文档格式的元数据文件,并存储于所述数据模块中,即存储在src目录里,src目录在软件开发里是默认存放下文所述源代码文件的地方;所述元数据文件为XML文档格式文件,以方便人们进行编写查看。所述元数据用于描述数据结构、数据库中的要素及要素之间关联关系信息的数据,元数据是用于描述数据及其环境的数据,本发明通过解释元数据以达到控制代码行为。
所述元数据定义为6种类型,包括实体定义、属性定义、方法定义、关联关系定义、异常定义和权限定义;
所述实体定义用于指定代码的实体类,其对应着一数据库的数据库表,一个元数据文件里可以有多个实体定义;
所述属性定义用于指定实体类下的属性,其对应着一数据库的数据库表字段;
所述方法定义用于指定实体类下对一数据库进行操作即增删改查的方法,其对应着基本数据操作;
所述关联关系定义用于指定各实体类之间的引用关系,其对应着一数据库的数据库表之间的关联关系;
所述异常定义用于生成一实体类的异常类,方便精确定位异常;
所述权限定义用于定义功能模块,并为各功能模块分别加上权限限制。
步骤20:所述数据解析模块提取所述元数据文件,并解析出元数据,同时从所述模板模块获取代码模板,并根据所述代码模板封装元数据,把元数据转换为模板对象,最后将所述代码模板和模板对象交给代码生成模块;所述代码模板中具有用于标识所述模板对象的命名参数;
所述模板对象是元数据的封装格式,每一命名参数均是代码模板上的一个标记,命名参数是做代码模板时定义的,只是个标记,标记这里要填入哪种模板对象,而元数据经封装成模板对象后最终要替换代码模板中的命名参数。
步骤21:代码生成模块执行数据库初始化生成脚本,并采用所述模板对象对所述代码模板中的命名参数进行赋值,生成数据库建表脚本,并保存于数据模块中,即存储于sql目录里;即数据库初始化生成脚本会统一检测所有元数据的变更,就是检查所有元数据添加、修改如新增一个元数据文件,修改文件中的一个或几个参数等等,都要反馈到生成的数据库建表脚本中,再生成数据库建表脚本;且所述数据库建表脚本存放在下文所述源代码文件的src目录中。
本发明的数据库初始化生成脚本支持所有主流数据库,将统一生成所有主流数据库的建表脚本,方便选用数据库建库建表,因为执行所述数据库建表脚本就可以自动生成数据库表,不需手动编写建表脚本建数据库,数据库建表脚本建的是数据库和数据库表,而下文所述数据模型层就是与数据库对应,对数据模型层的操作将直接反映到使用数据库建表脚本创建的数据库中,每一张数据库表对应于数据模型层中的一个实体类,对实体类中数据的变更最终都将写入到数据库表中。
步骤30:代码生成模块执行所述源代码自动生成脚本,代码生成模块使用所述模板对象对所述代码模板中的命名参数进行赋值,生成复数个源代码文件,保存在数据模块中并对应于所述元数据文件所在位置处,该元数据文件所在位置处为:步骤10中元数据文件存储在数据模块中的地址位置;同时,代码生成模块执行所述源代码自动生成脚本后,代码生成模块还生成一权限控制模块和一授权服务模块。
所述源代码自动生成脚本可对一个元数据文件单独执行代码生成,也可对多个元数据文件同时进行代码生成;当有多个元数据文件同时进行代码生成时,生成的源代码文件将按照所属元数据文件分包存储在该元数据文件所在的位置,即用一个元数据文件执行代码生成的源代码文件就放在该元数据文件所在位置,若有多个元数据文件,元数据文件要分包存储,然后各个元数据文件生成的源代码就生成在自己的元数据文件的包中,如图2所示,例如有两个元数据文件就分为2个包(包1、包2),包1中的元数据文件执行代码生成的源代码文件就存储于包1中,且该些源代码文件按照各自所提供的功能进行归类,分为三类即三个子包分别是数据模型层、数据持久层或业务逻辑层,对应于数据模型层的源代码文件就存储于该数据模型层的子包中,对应于数据持久层的源代码文件就存储于该数据持久层的子包中,对应于业务逻辑层的源代码文件就存储于该业务逻辑层的子包中;同理,包2的元数据文件生成的源代码文件也是按照如此规律进行分包存储,再分层分类。
所述复数个源代码文件的逻辑架构分为数据模型层、数据持久层和业务逻辑层;所述数据模型层与一数据库对应,数据模型层中的每一实体类均对应于该数据库中的一数据库表;所述数据库持久层对应于所述数据库的基本数据操作;所述业务逻辑层为各功能模块提供业务逻辑;基本数据操作如查改增删,重复性很高,同样数据模型层中的实体类代码也具有较高重复性,当一个数据库的数据库表达到几十到上百张后,本发明对效率的提升显而易见。
所述数据持久层调用数据模型层操作数据库,所述业务逻辑层调用数据持久层,把各种业务逻辑处理完的数据写入数据库相关联的数据库表中,同时处理写入过程中上报的异常,精确定位到具体实体类的何种异常。
上述元数据的实体定义和属性定义对应于数据模型层,方法定义对应于数据持久层,而关联关系定义、异常定义和权限定义都可对应于业务逻辑层,关联关系定义有部分也对应数据持久层。所述数据模型层、数据持久层、业务逻辑层都是由源代码文件组成的,这三层相当于对不同的源代码文件进行归类;所述源代码文件是由字符代码组成的,源代码文件提供的功能是操作数据库(如查询、修改等)就归到数据持久层这一类中。
所述权限控制模块用于对各功能模块设置访问权限,在权限控制模块中将维护一张权限控制表,记录某个用户对各功能模块是否具有访问权限;将各功能模块的访问权限组合成一个或多个权限集合,形成角色,然后权限控制模块可将权限集合(即角色)授权给一个或多个用户,某个用户就有了对部分功能模块的访问权限。
所述授权服务模块用于对用户访问数据模块的访问请求进行访问权限检测;授权服务模块作用是对用户的访问请求进行检测,所有对数据模块的访问使用,都会经过授权服务模块来检测其所属的用户及其访问权限,若用户无权限访问数据模块中的某一数据,授权服务模块将阻止其访问。
步骤40:代码生成模块再次执行所述源代码自动生成脚本,然后检测所述功能模块和业务逻辑层是否存在变更,若是,则执行步骤50;若否,则结束流程;
步骤50:结合所述元数据的权限定义中为各功能模块所设置的权限,权限控制模块为各功能模块分别加上访问权限控制,生成具有权限控制的本地服务代码。
可在所述源代码自动生成脚本的参数中设置是否生成对外服务接口(默认为否),然后可再次执行所述源代码自动生成脚本,判断是否生成对外接口,若否,则结束流程;若是,则生成具有权限控制的对外服务接口;对外接口服务是面向服务的Internet应用接口,它使用基于XML的消息处理作为基本的数据通讯方式,使用者可以通过网络远程调用授权服务模块判断权限,进而调用数据模块为系统服务。
相对于现有的直接通过数据库表进行Java代码生成的方法,本发明使用了XML文本作为元数据的载体,不过度依赖于具体的数据库,将技术选择推迟到后期,本发明按照元数据定义文件即所述元数据文件单独进行代码生成,所述元数据文件可只对应一张数据库表,也可对应多个耦合度高的库表,且生成的源代码文件按所述元数据文件分包,再分层分类,结构更加简明清晰。本发明具有可维护性高、代码一致性好、可重用性强等优势,本发明通过在多个实际项目中的实践,自动生成的代码占了整个系统源代码的大部分,显著提高了开发效率,开发人员仅大约占总人员的40%,降低了人力成本。
Claims (6)
1.一种Java代码生成方法,其特征在于:该方法需提供一模板模块、数据解析模块、代码生成模块和数据模块,所述代码生成模块中定义有一源代码自动生成脚本;所述Java代码生成方法的具体操作方法如下:
步骤10:将元数据进行解释定义,形成一元数据文件,并存储于所述数据模块中;所述元数据用于描述数据结构、数据库中的要素及要素之间关联关系信息的数据;
步骤20:所述数据解析模块提取所述元数据文件,并解析出元数据,同时从所述模板模块获取代码模板,并根据所述代码模板封装元数据,把元数据转换为模板对象,最后将所述代码模板和模板对象交给代码生成模块;所述代码模板中具有用于标识所述模板对象的命名参数;
步骤30:代码生成模块执行所述源代码自动生成脚本,使用所述模板对象对所述代码模板中的命名参数进行赋值,生成复数个源代码文件,并保存在数据模块中且对应于所述元数据文件所在位置处,该元数据文件所在位置处为:步骤10中元数据文件存储在数据模块中的地址位置。
2.如权利要求1所述的一种Java代码生成方法,其特征在于:所述步骤10中的元数据定义为6种类型,包括实体定义、属性定义、方法定义、关联关系定义、异常定义和权限定义;
所述实体定义用于指定代码的实体类,其对应着一数据库的数据库表;
所述属性定义用于指定实体类下的属性,其对应着一数据库的数据库表字段;
所述方法定义用于指定实体类下对一数据库进行操作的方法,其对应着基本数据操作;
所述关联关系定义用于指定各实体类之间的引用关系,其对应着一数据库的数据库表之间的关联关系;
所述异常定义用于生成一实体类的异常类,以精确定位异常;
所述权限定义用于定义功能模块,并为各功能模块分别加上权限限制。
3.如权利要求2所述的一种Java代码生成方法,其特征在于:所述复数个源代码文件的逻辑架构分为数据模型层、数据持久层和业务逻辑层;所述数据模型层与一数据库对应,数据模型层中的每一实体类均对应于该数据库中的一数据库表;所述数据库持久层对应于所述数据库的基本数据操作;所述业务逻辑层为各功能模块提供业务逻辑;
所述数据持久层调用数据模型层操作数据库,所述业务逻辑层调用数据持久层,把各种业务逻辑处理完的数据写入数据库相关联的数据库表中,同时处理写入过程中上报的异常,精确定位到具体实体类的何种异常。
4.如权利要求2所述的一种Java代码生成方法,其特征在于:所述步骤30中,代码生成模块执行所述源代码自动生成脚本后,代码生成模块还生成一权限控制模块和一授权服务模块;所述权限控制模块用于对各功能模块设置访问权限,所述授权服务模块用于对用户访问数据模块的访问请求进行访问权限检测;
所述Java代码生成方法还包括以下内容:
步骤40:代码生成模块再次执行所述源代码自动生成脚本,然后检测所述功能模块和业务逻辑层是否存在变更,若是,则执行步骤50;若否,则结束流程;
步骤50:结合所述元数据的权限定义中为各功能模块所设置的权限,权限控制模块为各功能模块分别加上访问权限控制,生成具有权限控制的本地服务代码。
5.如权利要求1所述的一种Java代码生成方法,其特征在于:所述代码生成模块中还定义有一数据库初始化生成脚本;
步骤20和步骤30之间还包括步骤21:代码生成模块执行数据库初始化生成脚本,并采用所述模板对象对所述代码模板中的命名参数进行赋值,生成数据库建表脚本,并保存于数据模块中。
6.如权利要求1所述的一种Java代码生成方法,其特征在于:所述元数据文件为XML文档格式文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013103493186A CN103473108A (zh) | 2013-08-12 | 2013-08-12 | 一种Java代码生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013103493186A CN103473108A (zh) | 2013-08-12 | 2013-08-12 | 一种Java代码生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103473108A true CN103473108A (zh) | 2013-12-25 |
Family
ID=49797977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013103493186A Pending CN103473108A (zh) | 2013-08-12 | 2013-08-12 | 一种Java代码生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103473108A (zh) |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104166737A (zh) * | 2014-09-04 | 2014-11-26 | 北京国双科技有限公司 | 用于数据库名称的修改方法和装置 |
CN104317604A (zh) * | 2014-11-13 | 2015-01-28 | 中国建设银行股份有限公司 | 一种程序代码生成方法及装置 |
CN105022619A (zh) * | 2014-04-25 | 2015-11-04 | 无锡物联网产业研究院 | 一种代码数据处理方法及装置 |
CN105630667A (zh) * | 2014-11-28 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 一种测试方法和终端设备 |
CN106201643A (zh) * | 2016-07-14 | 2016-12-07 | 北京邮电大学 | 数据解析方法及装置 |
CN106528168A (zh) * | 2016-11-22 | 2017-03-22 | 北京锐安科技有限公司 | 生成代码框架的方法及装置 |
CN106843822A (zh) * | 2015-12-07 | 2017-06-13 | 阿里巴巴集团控股有限公司 | 一种执行代码生成方法及设备 |
CN106886390A (zh) * | 2015-12-15 | 2017-06-23 | 大唐软件技术股份有限公司 | 一种Java对象生成和转换方法和Java对象生成和转换装置 |
CN107133080A (zh) * | 2017-06-14 | 2017-09-05 | 郑州云海信息技术有限公司 | 一种命令行的添加方法和系统 |
CN107133049A (zh) * | 2017-05-23 | 2017-09-05 | 中国联合网络通信集团有限公司 | 基于通信的服务的处理方法和装置 |
CN107168702A (zh) * | 2017-05-10 | 2017-09-15 | 苏州奇松软件有限公司 | 一种App、小程序和Web接口定义和代码生成方法 |
CN107368346A (zh) * | 2017-07-06 | 2017-11-21 | 万惠投资管理有限公司 | 一种基于元数据和脚本引擎的代码生成方法及装置 |
CN107479883A (zh) * | 2017-08-07 | 2017-12-15 | 海闻科技有限公司 | 一种代码生成方法及代码生成器 |
CN107704479A (zh) * | 2017-02-08 | 2018-02-16 | 上海壹账通金融科技有限公司 | 文件生成方法和装置 |
CN107750356A (zh) * | 2015-05-08 | 2018-03-02 | 西安姆贝拉有限公司 | 用于一组基于控制器的装置的自动软件开发的方法和设备 |
CN108170809A (zh) * | 2017-12-28 | 2018-06-15 | 平安科技(深圳)有限公司 | 建表脚本生成方法、装置、设备及计算机可读存储介质 |
CN108287717A (zh) * | 2017-03-13 | 2018-07-17 | 平安科技(深圳)有限公司 | 一种jar包生成方法及终端 |
CN108804091A (zh) * | 2018-05-25 | 2018-11-13 | 广州小天软件有限公司 | 一种软件代码生成方法 |
CN109101229A (zh) * | 2018-07-26 | 2018-12-28 | 郑州云海信息技术有限公司 | 一种面向对象的代码自动生成方法、装置及设备 |
CN109783084A (zh) * | 2019-01-18 | 2019-05-21 | 广州思坦德计算机信息科技有限公司 | 一种计算机代码自动生成方法、系统、装置和存储介质 |
CN110347381A (zh) * | 2019-05-22 | 2019-10-18 | 平安证券股份有限公司 | 数据加工代码的管理方法及装置 |
CN110389955A (zh) * | 2019-07-13 | 2019-10-29 | 北京海致星图科技有限公司 | 一种数据仓库调度文件自动生成系统及生成方法 |
CN110659393A (zh) * | 2019-09-12 | 2020-01-07 | 河南九商科技有限公司 | 一种xml代码生成方法和系统 |
CN110688147A (zh) * | 2019-09-29 | 2020-01-14 | 山东浪潮通软信息科技有限公司 | 一种进行元数据打包与解析的方法 |
CN111614604A (zh) * | 2019-02-26 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 一种代码文件生成方法和装置 |
CN112417515A (zh) * | 2020-11-12 | 2021-02-26 | 珠海格力电器股份有限公司 | 组态软件协议处理方法及系统 |
CN112860248A (zh) * | 2019-11-27 | 2021-05-28 | 中盈优创资讯科技有限公司 | 源代码生成方法及装置 |
CN112905167A (zh) * | 2021-03-11 | 2021-06-04 | 北京字节跳动网络技术有限公司 | 应用操作方法、装置和电子设备 |
CN113050934A (zh) * | 2019-12-26 | 2021-06-29 | 东软集团(上海)有限公司 | 表单驱动智能开发方法、装置以存储介质 |
CN115048111A (zh) * | 2022-08-16 | 2022-09-13 | 深圳华锐分布式技术股份有限公司 | 基于元数据的代码生成方法、装置、设备及介质 |
CN115794214A (zh) * | 2023-02-09 | 2023-03-14 | 中邮消费金融有限公司 | 应用模块元数据管理方法、设备、存储介质及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0803809A2 (en) * | 1996-04-23 | 1997-10-29 | Sun Microsystems, Inc. | Method and apparatus for interactively connecting distributed objects to a graphic user interface |
US7392504B2 (en) * | 2002-06-06 | 2008-06-24 | International Business Machines Corporation | System and method for automated source code generation |
CN102156640A (zh) * | 2011-04-19 | 2011-08-17 | 山东浪潮金融信息系统有限公司 | 一种数据操作代码生成方法 |
CN103135976A (zh) * | 2011-11-30 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 代码自动生成方法及装置 |
-
2013
- 2013-08-12 CN CN2013103493186A patent/CN103473108A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0803809A2 (en) * | 1996-04-23 | 1997-10-29 | Sun Microsystems, Inc. | Method and apparatus for interactively connecting distributed objects to a graphic user interface |
US7392504B2 (en) * | 2002-06-06 | 2008-06-24 | International Business Machines Corporation | System and method for automated source code generation |
CN102156640A (zh) * | 2011-04-19 | 2011-08-17 | 山东浪潮金融信息系统有限公司 | 一种数据操作代码生成方法 |
CN103135976A (zh) * | 2011-11-30 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 代码自动生成方法及装置 |
Non-Patent Citations (2)
Title |
---|
刘于新等: "基于模板的.Net三层架构的代码自动生成", 《计算机技术与发展》, vol. 22, no. 8, 31 August 2012 (2012-08-31), pages 13 - 16 * |
管太阳: "基于模板的自动代码生成技术的研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, vol. 2007, no. 03, 15 September 2007 (2007-09-15), pages 138 - 116 * |
Cited By (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105022619A (zh) * | 2014-04-25 | 2015-11-04 | 无锡物联网产业研究院 | 一种代码数据处理方法及装置 |
CN104166737B (zh) * | 2014-09-04 | 2018-02-02 | 北京国双科技有限公司 | 用于数据库名称的修改方法和装置 |
CN104166737A (zh) * | 2014-09-04 | 2014-11-26 | 北京国双科技有限公司 | 用于数据库名称的修改方法和装置 |
CN104317604A (zh) * | 2014-11-13 | 2015-01-28 | 中国建设银行股份有限公司 | 一种程序代码生成方法及装置 |
CN105630667A (zh) * | 2014-11-28 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 一种测试方法和终端设备 |
CN107750356B (zh) * | 2015-05-08 | 2020-02-14 | 西安姆贝拉有限公司 | 用于一组基于控制器的装置的自动软件开发的方法和设备 |
CN107750356A (zh) * | 2015-05-08 | 2018-03-02 | 西安姆贝拉有限公司 | 用于一组基于控制器的装置的自动软件开发的方法和设备 |
CN106843822A (zh) * | 2015-12-07 | 2017-06-13 | 阿里巴巴集团控股有限公司 | 一种执行代码生成方法及设备 |
CN106843822B (zh) * | 2015-12-07 | 2020-07-31 | 阿里巴巴集团控股有限公司 | 一种执行代码生成方法及设备 |
CN106886390A (zh) * | 2015-12-15 | 2017-06-23 | 大唐软件技术股份有限公司 | 一种Java对象生成和转换方法和Java对象生成和转换装置 |
CN106201643B (zh) * | 2016-07-14 | 2019-11-05 | 北京邮电大学 | 数据解析方法及装置 |
CN106201643A (zh) * | 2016-07-14 | 2016-12-07 | 北京邮电大学 | 数据解析方法及装置 |
CN106528168A (zh) * | 2016-11-22 | 2017-03-22 | 北京锐安科技有限公司 | 生成代码框架的方法及装置 |
CN107704479A (zh) * | 2017-02-08 | 2018-02-16 | 上海壹账通金融科技有限公司 | 文件生成方法和装置 |
CN107704479B (zh) * | 2017-02-08 | 2020-06-30 | 深圳壹账通智能科技有限公司 | 文件生成方法和装置 |
US10802804B2 (en) | 2017-02-08 | 2020-10-13 | One Connect Smart Technology Co., Ltd. | File generation method, device, server, and storage medium |
CN108287717A (zh) * | 2017-03-13 | 2018-07-17 | 平安科技(深圳)有限公司 | 一种jar包生成方法及终端 |
CN107168702A (zh) * | 2017-05-10 | 2017-09-15 | 苏州奇松软件有限公司 | 一种App、小程序和Web接口定义和代码生成方法 |
CN107133049A (zh) * | 2017-05-23 | 2017-09-05 | 中国联合网络通信集团有限公司 | 基于通信的服务的处理方法和装置 |
CN107133080A (zh) * | 2017-06-14 | 2017-09-05 | 郑州云海信息技术有限公司 | 一种命令行的添加方法和系统 |
CN107368346A (zh) * | 2017-07-06 | 2017-11-21 | 万惠投资管理有限公司 | 一种基于元数据和脚本引擎的代码生成方法及装置 |
CN107479883A (zh) * | 2017-08-07 | 2017-12-15 | 海闻科技有限公司 | 一种代码生成方法及代码生成器 |
WO2019127837A1 (zh) * | 2017-12-28 | 2019-07-04 | 平安科技(深圳)有限公司 | 建表脚本生成方法、装置、设备及计算机可读存储介质 |
CN108170809B (zh) * | 2017-12-28 | 2020-11-03 | 平安科技(深圳)有限公司 | 建表脚本生成方法、装置、设备及计算机可读存储介质 |
CN108170809A (zh) * | 2017-12-28 | 2018-06-15 | 平安科技(深圳)有限公司 | 建表脚本生成方法、装置、设备及计算机可读存储介质 |
CN108804091A (zh) * | 2018-05-25 | 2018-11-13 | 广州小天软件有限公司 | 一种软件代码生成方法 |
CN109101229A (zh) * | 2018-07-26 | 2018-12-28 | 郑州云海信息技术有限公司 | 一种面向对象的代码自动生成方法、装置及设备 |
CN109783084A (zh) * | 2019-01-18 | 2019-05-21 | 广州思坦德计算机信息科技有限公司 | 一种计算机代码自动生成方法、系统、装置和存储介质 |
CN111614604A (zh) * | 2019-02-26 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 一种代码文件生成方法和装置 |
CN111614604B (zh) * | 2019-02-26 | 2022-06-14 | 阿里巴巴集团控股有限公司 | 一种代码文件生成方法和装置 |
CN110347381A (zh) * | 2019-05-22 | 2019-10-18 | 平安证券股份有限公司 | 数据加工代码的管理方法及装置 |
CN110389955A (zh) * | 2019-07-13 | 2019-10-29 | 北京海致星图科技有限公司 | 一种数据仓库调度文件自动生成系统及生成方法 |
CN110659393A (zh) * | 2019-09-12 | 2020-01-07 | 河南九商科技有限公司 | 一种xml代码生成方法和系统 |
CN110659393B (zh) * | 2019-09-12 | 2022-10-14 | 河南九商科技有限公司 | 一种xml代码生成方法和系统 |
CN110688147A (zh) * | 2019-09-29 | 2020-01-14 | 山东浪潮通软信息科技有限公司 | 一种进行元数据打包与解析的方法 |
CN112860248A (zh) * | 2019-11-27 | 2021-05-28 | 中盈优创资讯科技有限公司 | 源代码生成方法及装置 |
CN112860248B (zh) * | 2019-11-27 | 2023-12-05 | 中盈优创资讯科技有限公司 | 源代码生成方法及装置 |
CN113050934A (zh) * | 2019-12-26 | 2021-06-29 | 东软集团(上海)有限公司 | 表单驱动智能开发方法、装置以存储介质 |
CN113050934B (zh) * | 2019-12-26 | 2023-12-26 | 东软集团(上海)有限公司 | 表单驱动智能开发方法、装置以存储介质 |
CN112417515A (zh) * | 2020-11-12 | 2021-02-26 | 珠海格力电器股份有限公司 | 组态软件协议处理方法及系统 |
CN112905167A (zh) * | 2021-03-11 | 2021-06-04 | 北京字节跳动网络技术有限公司 | 应用操作方法、装置和电子设备 |
CN112905167B (zh) * | 2021-03-11 | 2023-10-27 | 北京字节跳动网络技术有限公司 | 应用操作方法、装置和电子设备 |
CN115048111A (zh) * | 2022-08-16 | 2022-09-13 | 深圳华锐分布式技术股份有限公司 | 基于元数据的代码生成方法、装置、设备及介质 |
CN115048111B (zh) * | 2022-08-16 | 2022-11-15 | 深圳华锐分布式技术股份有限公司 | 基于元数据的代码生成方法、装置、设备及介质 |
CN115794214A (zh) * | 2023-02-09 | 2023-03-14 | 中邮消费金融有限公司 | 应用模块元数据管理方法、设备、存储介质及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103473108A (zh) | 一种Java代码生成方法 | |
US8954375B2 (en) | Method and system for developing data integration applications with reusable semantic types to represent and process application data | |
Bailin | Object‐Oriented Analysis | |
CN102810057B (zh) | 一种记录日志的方法 | |
CN102609402B (zh) | 一种基于实时策略的本体模型生成及管理装置及方法 | |
CN1945530B (zh) | 一种具有依赖关系组件的部署系统和方法 | |
CN104424265B (zh) | 数字资源管理方法及系统 | |
CN106559438A (zh) | 一种基于目标网络平台的程序上传方法和装置 | |
CN103262047A (zh) | 使用代码克隆检测的智能代码差分 | |
CN102693127B (zh) | 用于描述并执行图形用户界面中的管理任务的数据驱动模式 | |
CN102222278A (zh) | 一种运维流程定制的方法及装置 | |
CN103631596A (zh) | 业务对象数据录入及更新规则的配置装置和配置方法 | |
CN110807015A (zh) | 一种大数据资产价值交付管理方法及系统 | |
CN103914290A (zh) | 一种操作命令处理方法及装置 | |
US20110078203A1 (en) | System and method for application navigation | |
CN103744647A (zh) | 一种基于工作流GPD的Java工作流开发系统及其方法 | |
CN109284106A (zh) | 业务规则的发布管理方法、电子装置及可读存储介质 | |
CN107103064A (zh) | 数据统计方法及装置 | |
CN103412745A (zh) | 一种开发及应用平台 | |
KR101877828B1 (ko) | 인공지능 기반의 사용자 인터페이스 통합 플랫폼 시스템 | |
CN103617167A (zh) | 一种通用的元数据/关系映射框架 | |
US20030110175A1 (en) | Deploying predefined data warehouse process models | |
CN102317905A (zh) | 网络应用程序构建系统、网络应用程序构建方法、网络应用程序构建程序以及记录了网络应用程序构建程序的记录介质 | |
CN103069382A (zh) | 在面向服务的架构储存库之间的迁移工件 | |
CN100485687C (zh) | 建立无连接的数据编程模型的方法、装置及其应用 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20131225 |
|
WD01 | Invention patent application deemed withdrawn after publication |