CN105354072A - 一种基于Eclipse平台的代码生成方法 - Google Patents

一种基于Eclipse平台的代码生成方法 Download PDF

Info

Publication number
CN105354072A
CN105354072A CN201510696628.4A CN201510696628A CN105354072A CN 105354072 A CN105354072 A CN 105354072A CN 201510696628 A CN201510696628 A CN 201510696628A CN 105354072 A CN105354072 A CN 105354072A
Authority
CN
China
Prior art keywords
file
code
data
excel
eclipse platform
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
CN201510696628.4A
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201510696628.4A priority Critical patent/CN105354072A/zh
Publication of CN105354072A publication Critical patent/CN105354072A/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了基于Eclipse平台的代码生成方法,通过在本地Excel中编写数据源文件,通过POI解析Excel数据,将数据封装到内存实体对象中,在Eclipse平台中,将Excel中的数据源文件封装的实体对象中,加载模版文件,将模版文件中的变量替换为实体对象中的数据,从而生成固定格式的源代码文件,通过选择生成的代码是否能支持国际化操作来生成可定制的代码,同时,生成sql脚本,并直接生成数据库的表结构。本发明节省了开发人员的开发时间,可以规范化开发人员的代码质量,提高产品的资料和开发效率。

Description

一种基于Eclipse平台的代码生成方法
技术领域
本发明属于计算机编码领域,具体涉及一种基于Eclipse平台的代码生成方法。
背景技术
目前对于开发人员都是采用人工的方式来进行编码的,代码模版比较固定,生成的代码也是相对固定的,在代码生成后,需要手动导出生成源代码文件,然后利用开发工具引入源代码文件进行后续开发工作,这种方式对于一些简单的业务处理来做都是重复性的工作,然而在实际应用中,人工编码具有开发速度慢、代码不够规范和可阅读性差的问题,并且不能生成创建数据库语句的sql脚本。如果将这种重复性的开发工作交给工具来完成将会很大程度上提高开发的效率,提高代码的质量。
发明内容
(一)要解决的技术问题
本发明的目的在于,提供一种基于Eclipse平台的代码生成方法,节省了开发人员的开发时间,可以规范化开发人员的代码质量,提高产品的资料和开发效率。
(二)技术方案
本发明提供一种基于Eclipse平台的代码生成方法,包括:
S1,在本地Excel中编写数据源文件;
S2,在Eclipse平台中,将Excel中的数据源文件封装在实体对象中;
S3,在Eclipse平台中加载模版文件,将模版文件中的变量替换为实体对象中的数据,从而生成固定格式的源代码文件。
(三)有益效果
本发明具有以下优点:
1.现有技术中代码生成后需要手动导出生成源代码文件,然后利用开发工具引入源代码文件进行后续开发工作,本发明直接在Eclipse中利用插件技术直接在开发工具中生成代码,不需要导出和重新引入等其它的步骤,直接可以进入开发工作;
2.现有技术不会生成创建数据库语句的sql脚本,本发明能直接生成数据库语句的sql脚本,直接可以生成源代码中需要的数据库表结构;
3.现有技术中代码模版固定,生成的代码也是比较的固定的,本发明利用Excel的内容做参数配置,可以生成支持国际化和不支持国际化的二种源代码类型,同时可以通过设置的其它的配置项,可以生成不同的格式不同模版的的源代码文件。
附图说明
图1是本发明实施例提供的基于Eclipse平台的代码生成方法的流程图。
图2是本发明实施例Excel中的数据源文件的示意图。
图3是本发明实施例采用POI将Excel中的数据源文件封装到实体对象的示意图。
图4是本发明实施例中velocity模版文件的示意图。
图5是本发明实施例中生成国际化代码的效果图。
图6是本发明实施例中生成非国际化代码的效果图。
图7是本发明实施例中生成的sql脚本所在的目录位置。
具体实施方式
本发明提供一种基于Eclipse平台的代码生成方法,通过在本地Excel中编写数据源文件,通过POI解析Excel数据,将数据封装到内存实体对象中,在Eclipse平台中,将Excel中的数据源文件封装的实体对象中,加载模版文件,将模版文件中的变量替换为实体对象中的数据,从而生成固定格式的源代码文件,通过选择生成的代码是否能支持国际化操作来生成可定制的代码,同时,生成建表sql脚本,并直接生成数据库的表结构。本发明节省了开发人员的开发时间,可以规范化开发人员的代码质量,提高产品的资料和开发效率。
根据本发明的一种实施方式,代码生成方法包括:
S1,在本地Excel中编写数据源文件;
S2,在Eclipse平台中,将Excel中的数据源文件封装在实体对象中;
S3,在Eclipse平台中加载模版文件,将模版文件中的变量替换为实体对象中的数据,从而生成固定格式的源代码文件。
根据本发明的一种实施方式,在步骤S2中,通过POI解析Excel中的数据源文件,并将其封装到内存对象中,其中POI是Eclipse中解析Excel的组件工具。
根据本发明的一种实施方式,所述步骤S3还包括:
在生成固定格式的源代码文件时,在Eclipse平台中进行代码国际化选择,从而生成国际化代码。
根据本发明的一种实施方式,模版文件包括java代码、配置文件、sql语句及Js文件。
根据本发明的一种实施方式,步骤S3还包括:
将所述sql语句中的变量替换为实体对象中的数据,生成sql脚本,该sql脚本在项目的资源文件下面,直接导入到数据库中,生成表结构。
根据本发明的一种实施方式,数据源文件包括模块信息、包名信息、类名信息、属性信息及列名显示信息。
根据本发明的一种实施方式,模版文件为预先生成的Velocity模版文件,其中Velocity是一种基于java的模板引擎。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图1是本发明实施例提供的基于Eclipse平台的代码生成方法的流程图,如图1所示,方法包括:
S1,在本地Excel中编写数据源文件。
图2是本实施例Excel中的数据源文件的示意图,如图2所示,数据源文件包括模块信息、包名信息、类名信息、属性信息及列名显示信息。
S2,如图3所示,在Eclipse平台中,采用POI将Excel中的数据源文件封装在实体对象中。
S3,如图4所示,预先定义velocity模版文件,包括java代码、配置文件、sql语句及Js文件,在Eclipse平台中加载velocity模版文件,将模版文件中的变量替换为实体对象中的数据,这样就能生成想要的固定格式的源代码文件。如图5所示,如果选择支持国际化,生成支持国际化的代码;如图6所示,如果选择不支持则生成不支持国际化的代码。其中,将sql语句中的变量替换为实体对象中的数据,生成sql脚本,如图7所示,直接导入到数据库中,生成表结构。
综上所述,本发明直接在Eclipse中利用插件技术直接在开发工具中生成代码,不需要导出和重新引入等其它的步骤,直接可以进入开发工作,并能直接生成数据库语句的sql脚本,直接可以生成源代码中需要的数据库表结构,同时,可以生成支持国际化和不支持国际化的二种源代码类型,同时可以通过设置的其它的配置项,可以生成不同的格式不同模版的的源代码文件。本发明节省了开发人员的开发时间,可以规范化开发人员的代码质量,提高产品的资料和开发效率。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种基于Eclipse平台的代码生成方法,其特征在于,包括:
S1,在本地Excel中编写数据源文件;
S2,在Eclipse平台中,将Excel中的数据源文件封装在实体对象中;
S3,在Eclipse平台中加载模版文件,将所述模版文件中的变量替换为实体对象中的数据,从而生成固定格式的源代码文件。
2.根据权利要求1所述的代码生成方法,其特征在于,在所述步骤S2中,通过POI解析Excel中的数据源文件,并将其封装到内存对象中。
3.根据权利要求1所述的代码生成方法,其特征在于,所述步骤S3还包括:
在生成固定格式的源代码文件时,在Eclipse平台中进行代码国际化选择,从而生成国际化代码。
4.根据权利要求1所述的代码生成方法,其特征在于,所述模版文件包括java代码、配置文件、sql语句及Js文件。
5.根据权利要求4所述的代码生成方法,其特征在于,所述步骤S3还包括:
将所述sql语句中的变量替换为实体对象中的数据,生成sql脚本,直接导入到数据库中,生成表结构。
6.根据权利要求1所述的代码生成方法,其特征在于,所述数据源文件包括模块信息、包名信息、类名信息、属性信息及列名显示信息。
7.根据权利要求1所述的代码生成方法,其特征在于,所述模版文件为预先生成的Velocity模版文件。
CN201510696628.4A 2015-10-23 2015-10-23 一种基于Eclipse平台的代码生成方法 Pending CN105354072A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510696628.4A CN105354072A (zh) 2015-10-23 2015-10-23 一种基于Eclipse平台的代码生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510696628.4A CN105354072A (zh) 2015-10-23 2015-10-23 一种基于Eclipse平台的代码生成方法

Publications (1)

Publication Number Publication Date
CN105354072A true CN105354072A (zh) 2016-02-24

Family

ID=55330046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510696628.4A Pending CN105354072A (zh) 2015-10-23 2015-10-23 一种基于Eclipse平台的代码生成方法

Country Status (1)

Country Link
CN (1) CN105354072A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105824638A (zh) * 2016-03-17 2016-08-03 广州多益网络股份有限公司 一种将文档转换为可直接使用的游戏代码的方法及装置
CN105915389A (zh) * 2016-06-02 2016-08-31 苏州乐麟无线信息科技有限公司 一种数据配置及加载的方法及装置
CN106775914A (zh) * 2016-12-27 2017-05-31 竞技世界(北京)网络技术有限公司 一种自动生成键值的代码国际化方法及装置
CN108287717A (zh) * 2017-03-13 2018-07-17 平安科技(深圳)有限公司 一种jar包生成方法及终端
CN108469952A (zh) * 2018-03-16 2018-08-31 祖龙(天津)科技有限公司 一种管理游戏配置的代码生成方法及配套工具
CN110134427A (zh) * 2018-02-08 2019-08-16 北京京东尚科信息技术有限公司 一种生成代码文件的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968306A (zh) * 2012-11-29 2013-03-13 广东全通教育股份有限公司 一种基于数据模型驱动的代码自动生成方法和系统
CN103135976A (zh) * 2011-11-30 2013-06-05 阿里巴巴集团控股有限公司 代码自动生成方法及装置
CN103500087A (zh) * 2013-09-17 2014-01-08 福建亿榕信息技术有限公司 一种基于maven插件和freemarker模版的代码生成方法及装置
CN104317576A (zh) * 2014-07-04 2015-01-28 北京思特奇信息技术股份有限公司 一种基于eclipse的代码自动生成方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103135976A (zh) * 2011-11-30 2013-06-05 阿里巴巴集团控股有限公司 代码自动生成方法及装置
CN102968306A (zh) * 2012-11-29 2013-03-13 广东全通教育股份有限公司 一种基于数据模型驱动的代码自动生成方法和系统
CN103500087A (zh) * 2013-09-17 2014-01-08 福建亿榕信息技术有限公司 一种基于maven插件和freemarker模版的代码生成方法及装置
CN104317576A (zh) * 2014-07-04 2015-01-28 北京思特奇信息技术股份有限公司 一种基于eclipse的代码自动生成方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
万军民: "一种基于Java的代码生成器的设计与实现", 《计算机工程》 *
刘香: "使用Velocity模板引擎快速生成代码", 《HTTPS://WWW.IBM.COM/DEVELOPERWORKS/CN/JAVA/J-LO-VELOCITY1/》 *
孔得雨: "一种基于 Velocity 的代码自动生成技术研究", 《计算机应用与软件》 *
邱加永: "《Java程序开发实用教程》", 30 April 2014, 清华大学出版社 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105824638A (zh) * 2016-03-17 2016-08-03 广州多益网络股份有限公司 一种将文档转换为可直接使用的游戏代码的方法及装置
CN105915389A (zh) * 2016-06-02 2016-08-31 苏州乐麟无线信息科技有限公司 一种数据配置及加载的方法及装置
CN106775914A (zh) * 2016-12-27 2017-05-31 竞技世界(北京)网络技术有限公司 一种自动生成键值的代码国际化方法及装置
CN108287717A (zh) * 2017-03-13 2018-07-17 平安科技(深圳)有限公司 一种jar包生成方法及终端
CN110134427A (zh) * 2018-02-08 2019-08-16 北京京东尚科信息技术有限公司 一种生成代码文件的方法和装置
CN108469952A (zh) * 2018-03-16 2018-08-31 祖龙(天津)科技有限公司 一种管理游戏配置的代码生成方法及配套工具

Similar Documents

Publication Publication Date Title
CN105354072A (zh) 一种基于Eclipse平台的代码生成方法
CN106371825B (zh) 一种移动端应用界面表单动态生成方法及装置
CN107861728B (zh) 用于传统程序语言向现代程序语言转换的方法及其系统
CN105022630B (zh) 一种组件管理系统及组件管理方法
CN106293664A (zh) 代码生成方法及装置
CN103500087A (zh) 一种基于maven插件和freemarker模版的代码生成方法及装置
CN104035754A (zh) 一种基于xml的自定义代码生成方法及生成器
CN104965714A (zh) 应用软件的代码生成方法和系统
CN111428451B (zh) 文本在线编辑方法、装置、电子设备及存储介质
CN103049251B (zh) 一种数据库持久层装置及数据库操作方法
CN104317589A (zh) 一种用于加载动态链接库的代码自动生成方法及装置
CN110955410A (zh) 一种代码自动生成方法、装置、设备及介质
CN104331284A (zh) 一种动态页面生成展示方法及系统
CN103176778B (zh) 网页开发方法和装置
CN104317576A (zh) 一种基于eclipse的代码自动生成方法及系统
CN101882321A (zh) 动画用户界面渲染系统及方法
CN112433701A (zh) 工业软件开发项目实施流程、内容及代码生成方法及装置
CN112016283A (zh) 表单生成方法及装置
Chen et al. A novel automated construction scheme for efficiently developing cloud manufacturing services
CN114741360A (zh) 汽车零件文件重建方法、装置、终端设备及存储介质
CN106681781A (zh) 实时计算业务的实现方法和系统
CN116738954A (zh) 报表导出方法、报表模板的配置方法、装置、计算机设备
CN103279354B (zh) 设计规则检查文件的自动化产生方法及产生器
CN111177234A (zh) 一种文档型数据文件快速处理装置及方法
CN102004666A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160224