CN104598233A - 一种代码生成方法 - Google Patents
一种代码生成方法 Download PDFInfo
- Publication number
- CN104598233A CN104598233A CN201510015190.9A CN201510015190A CN104598233A CN 104598233 A CN104598233 A CN 104598233A CN 201510015190 A CN201510015190 A CN 201510015190A CN 104598233 A CN104598233 A CN 104598233A
- Authority
- CN
- China
- Prior art keywords
- code
- user
- database
- data
- generating
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种代码生成方法,其使得开发人员通过简单的图形化的数据库连接配置界面,动态生成基于MVC的三层架构代码,从而达到简化开发人员开发的代码工作量、快速响应开发需求的作用。该方法使用Create Data Code代码生成器,并包括步骤:(1)获取数据库及生成代码相关配置信息;(2)动态生成代码;(3)通知用户将生成的代码文件拷贝至项目目录。
Description
技术领域
本发明涉及计算机的技术领域,具体地涉及一种代码生成方法。
背景技术
随着人类社会的发展和进步,计算机技术也迅猛发展。目前,出现了一些代码生成方法,用来软件代码。
但是,现有的大多数代码生成方法存在以下缺陷与不足:
1.在设计阶段只考虑到某一特定数据库的情况,只支持单一的数据库,无法扩展兼容多种数据库;
2.在实现生成代码阶段,只考虑到通过单一的数据表生成简单的基于MVC(Model View Controller,模型视图控制器)的三层架构代码,只支持简单的增删改查操作,不支持自定义sql语句(对数据库进行操作的一种语言)及存储过程,不适用应用于复杂的业务逻辑场景中。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供一种代码生成方法,其使得开发人员通过简单的图形化的数据库连接配置界面,动态生成基于MVC的三层架构代码,从而达到简化开发人员开发的代码工作量、快速响应开发需求的作用。
本发明的技术解决方案是:这种代码生成方法,该方法使用Create DataCode代码生成器,并包括以下步骤:
(1)获取数据库及生成代码相关配置信息;
(2)动态生成代码;
(3)通知用户将生成的代码文件拷贝至项目目录。
或者,这种代码生成方法,该方法使用CreateDataCode代码生成器,并包括以下步骤:。
(I)开始;
(II)加载用户图形界面;
(III)获取用户输入的数据库类型、连接地址、密码、账号和代码生成目录;
(IV)收到用户点击连接数据库的命令;
(V)判断是否能正确连接数据库,是则执行步骤(VI),否则执行步骤(XIV);
(VI)系统显示数据库列表;
(VII)通知用户双击数据库名称;
(VIII)系统显示对应数据库中的所有数据表列表;
(IX)通知用户勾选多个数据表,点击生成代码按钮;
(X)针对数据库、数据表、数据表中的列对应的关系利用反射方法、代码模板动态生成代码文件;
(XI)判断是否成功,是则执行步骤(XII),否则执行步骤(XIV);
(XII)将生成的代码保存至用户预设的文件路径下;
(XIII)通知用户将生成的代码文件拷贝至项目目录;
(XIV)结束。
本发明通过使用Create Data Code代码生成器,获取数据库及生成代码相关配置信息,动态生成代码,使得开发人员通过简单的图形化的数据库连接配置界面,动态生成基于MVC的三层架构代码,从而达到简化开发人员开发的代码工作量、快速响应开发需求的作用。
附图说明
图1为根据本发明的代码生成方法的一个优选实施例的流程图。
具体实施方式
这种代码生成方法,该方法使用Create Data Code代码生成器,并包括以下步骤:
(1)获取数据库及生成代码相关配置信息;
(2)动态生成代码;
(3)通知用户将生成的代码文件拷贝至项目目录。
本发明通过使用Create Data Code代码生成器,获取数据库及生成代码相关配置信息,动态生成代码,使得开发人员通过简单的图形化的数据库连接配置界面,动态生成基于MVC的三层架构代码,从而达到简化开发人员开发的代码工作量、快速响应开发需求的作用。
另外,所述步骤(1)包括以下分步骤:
(1.1)加载用户图形界面;
(1.2)获取用户输入的数据库类型、连接地址、密码、账号和代码生成目录;
(1.3)收到用户点击连接数据库的命令;
(1.4)系统显示数据库列表和数据库列表对应的数据表信息;
(1.5)通知用户勾选多个数据表,点击生成代码按钮。
另外,所述步骤(2)包括以下分步骤:
(2.1)针对数据库、数据表、数据表中的列对应的关系利用反射方法、代码模板动态生成代码文件;
(2.2)将生成的代码保存至用户预设的文件路径下。
如图1所示,这种代码生成方法,该方法使用CreateDataCode代码生成器,并包括以下步骤:。
(I)开始;
(II)加载用户图形界面;
(III)获取用户输入的数据库类型、连接地址、密码、账号和代码生成目录;
(IV)收到用户点击连接数据库的命令;
(V)判断是否能正确连接数据库,是则执行步骤(VI),否则执行步骤(XIV);
(VI)系统显示数据库列表;
(VII)通知用户双击数据库名称;
(VIII)系统显示对应数据库中的所有数据表列表;
(IX)通知用户勾选多个数据表,点击生成代码按钮;
(X)针对数据库、数据表、数据表中的列对应的关系利用反射方法、代码模板动态生成代码文件;
(XI)判断是否成功,是则执行步骤(XII),否则执行步骤(XIV);
(XII)将生成的代码保存至用户预设的文件路径下;
(XIII)通知用户将生成的代码文件拷贝至项目目录;
(XIV)结束。
本发明的有益效果如下:
1.易操作,通过简单的图形界面,配置相关数据库参数即可,支持自定义选择生成的文件目录及命名空间;
2.支持任意选择数据库服务器、数据库及数据表;
3.生成的代码不仅包括基于面向对象的MVC三层架构,也可动态生成前端html页面;
4.扩展性强,在代码设计上采用抽象工厂、命令等多种设计模式,可扩展支持多种数据库;
5.支持自定义sql语句及存储过程;
6.易于集成至任意MVC架构的工程,直接拷贝至相应目录即可。
下面给出具体的应用场景:
开发人员在开发任何一个软件系统过程中,每当需要对系统中的基础数据进行维护,实现增删改查和其它关联操作时,可以使用本专利中提供的技术快速完成基础数据的开发工作。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。
Claims (4)
1.一种代码生成方法,其特征在于:该方法使用Create Data Code代码生成器,并包括以下步骤:
(1)获取数据库及生成代码相关配置信息;
(2)动态生成代码;
(3)通知用户将生成的代码文件拷贝至项目目录。
2.根据权利要求1所述的代码生成方法,其特征在于:所述步骤(1)包括以下分步骤:
(1.1)加载用户图形界面;
(1.2)获取用户输入的数据库类型、连接地址、密码、账号和代码生成目录;
(1.3)收到用户点击连接数据库的命令;
(1.4)系统显示数据库列表和数据库列表对应的数据表信息;
(1.5)通知用户勾选多个数据表,点击生成代码按钮。
3.根据权利要求2所述的代码生成方法,其特征在于:所述步骤(2)包括以下分步骤:
(2.1)针对数据库、数据表、数据表中的列对应的关系利用反射方法、代码模板动态生成代码文件;
(2.2)将生成的代码保存至用户预设的文件路径下。
4.一种代码生成方法,其特征在于:该方法使用CreateDataCode代码生成器,并包括以下步骤:。
(I)开始;
(II)加载用户图形界面;
(III)获取用户输入的数据库类型、连接地址、密码、账号和代码生成目录;
(IV)收到用户点击连接数据库的命令;
(V)判断是否能正确连接数据库,是则执行步骤(VI),否则执行步骤(XIV);
(VI)系统显示数据库列表;
(VII)通知用户双击数据库名称;
(VIII)系统显示对应数据库中的所有数据表列表;
(IX)通知用户勾选多个数据表,点击生成代码按钮;
(X)针对数据库、数据表、数据表中的列对应的关系利用反射方法、代码模板动态生成代码文件;
(XI)判断是否成功,是则执行步骤(XII),否则执行步骤(XIV);
(XII)将生成的代码保存至用户预设的文件路径下;
(XIII)通知用户将生成的代码文件拷贝至项目目录;
(XIV)结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510015190.9A CN104598233A (zh) | 2015-01-12 | 2015-01-12 | 一种代码生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510015190.9A CN104598233A (zh) | 2015-01-12 | 2015-01-12 | 一种代码生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104598233A true CN104598233A (zh) | 2015-05-06 |
Family
ID=53124053
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510015190.9A Pending CN104598233A (zh) | 2015-01-12 | 2015-01-12 | 一种代码生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104598233A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899045A (zh) * | 2015-06-23 | 2015-09-09 | 上海斐讯数据通信技术有限公司 | 一种通用的软件编码辅助系统及方法 |
CN106598620A (zh) * | 2016-12-21 | 2017-04-26 | 深圳南北互联网金融服务有限公司 | 代码生成方法及代码生成器 |
CN106886390A (zh) * | 2015-12-15 | 2017-06-23 | 大唐软件技术股份有限公司 | 一种Java对象生成和转换方法和Java对象生成和转换装置 |
CN107273116A (zh) * | 2017-05-22 | 2017-10-20 | 互联天下科技发展(深圳)有限公司 | 采用基于框架的代码生成工具生产代码的方法 |
CN107357588A (zh) * | 2017-07-19 | 2017-11-17 | 万帮充电设备有限公司 | 目标代码生成方法及装置 |
CN108984245A (zh) * | 2018-06-20 | 2018-12-11 | 武汉斑马快跑科技有限公司 | 一种基于单一视图控制器的页面切换方法及系统 |
CN109725893A (zh) * | 2018-05-17 | 2019-05-07 | 平安普惠企业管理有限公司 | 代码生成方法、设备、装置及计算机可读存储介质 |
CN112463145A (zh) * | 2020-12-04 | 2021-03-09 | 上海路人王信息科技有限公司 | 代码生成方法、终端设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030103080A1 (en) * | 2001-12-05 | 2003-06-05 | Bahman Radjabi | System and method for developing a code generator for object-oriented communication protocol |
CN101697120A (zh) * | 2009-11-05 | 2010-04-21 | 河南辉煌科技股份有限公司 | 基于关系型数据库的j2ee代码生成方法 |
CN102122247A (zh) * | 2011-03-17 | 2011-07-13 | 深圳市同洲软件有限公司 | 一种自动生成代码的系统及方法 |
CN103135976A (zh) * | 2011-11-30 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 代码自动生成方法及装置 |
CN103412749A (zh) * | 2013-07-29 | 2013-11-27 | 福建联迪商用设备有限公司 | 一种基于关系型数据库的代码生成方法及代码生成器 |
-
2015
- 2015-01-12 CN CN201510015190.9A patent/CN104598233A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030103080A1 (en) * | 2001-12-05 | 2003-06-05 | Bahman Radjabi | System and method for developing a code generator for object-oriented communication protocol |
CN101697120A (zh) * | 2009-11-05 | 2010-04-21 | 河南辉煌科技股份有限公司 | 基于关系型数据库的j2ee代码生成方法 |
CN102122247A (zh) * | 2011-03-17 | 2011-07-13 | 深圳市同洲软件有限公司 | 一种自动生成代码的系统及方法 |
CN103135976A (zh) * | 2011-11-30 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 代码自动生成方法及装置 |
CN103412749A (zh) * | 2013-07-29 | 2013-11-27 | 福建联迪商用设备有限公司 | 一种基于关系型数据库的代码生成方法及代码生成器 |
Non-Patent Citations (1)
Title |
---|
刘于新 等: "基于模板的.Net三层架构的代码自动生成", 《计算机技术与发展》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899045A (zh) * | 2015-06-23 | 2015-09-09 | 上海斐讯数据通信技术有限公司 | 一种通用的软件编码辅助系统及方法 |
CN104899045B (zh) * | 2015-06-23 | 2019-07-16 | 上海斐讯数据通信技术有限公司 | 一种通用的软件编码辅助系统及方法 |
CN106886390A (zh) * | 2015-12-15 | 2017-06-23 | 大唐软件技术股份有限公司 | 一种Java对象生成和转换方法和Java对象生成和转换装置 |
CN106598620A (zh) * | 2016-12-21 | 2017-04-26 | 深圳南北互联网金融服务有限公司 | 代码生成方法及代码生成器 |
CN107273116A (zh) * | 2017-05-22 | 2017-10-20 | 互联天下科技发展(深圳)有限公司 | 采用基于框架的代码生成工具生产代码的方法 |
CN107273116B (zh) * | 2017-05-22 | 2020-09-25 | 互联天下科技发展(深圳)有限公司 | 采用基于框架的代码生成工具生产代码的方法 |
CN107357588A (zh) * | 2017-07-19 | 2017-11-17 | 万帮充电设备有限公司 | 目标代码生成方法及装置 |
CN107357588B (zh) * | 2017-07-19 | 2020-08-14 | 万帮充电设备有限公司 | 目标代码生成方法及装置 |
CN109725893A (zh) * | 2018-05-17 | 2019-05-07 | 平安普惠企业管理有限公司 | 代码生成方法、设备、装置及计算机可读存储介质 |
CN108984245A (zh) * | 2018-06-20 | 2018-12-11 | 武汉斑马快跑科技有限公司 | 一种基于单一视图控制器的页面切换方法及系统 |
CN112463145A (zh) * | 2020-12-04 | 2021-03-09 | 上海路人王信息科技有限公司 | 代码生成方法、终端设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104598233A (zh) | 一种代码生成方法 | |
CN102591654B (zh) | 一种基于ssh架构的代码生成器及方法 | |
CN104424338A (zh) | web系统的自动生成装置和自动生成方法 | |
CN105302545A (zh) | 一种组态软件的自定义控件开发方法及装置 | |
CN106951254B (zh) | 支付系统中相似业务功能模块复用的方法及装置 | |
CN104391717A (zh) | 一种调试时代码动态更新方法 | |
CN102681852A (zh) | 基于JavaEE的敏捷开发方法 | |
CN108829653A (zh) | 一种报表的生成方法、装置、设备及介质 | |
CN104834715A (zh) | 一种基于部件和容器的网站生成方法及系统 | |
CN103207783A (zh) | 一种基于b/s的软件开发引擎系统及其构建方法 | |
CN101604286B (zh) | 一种关键字驱动表格生成方法 | |
CN113378091A (zh) | 一种可视化项目生成方法、装置、电子设备及存储介质 | |
CN110851123A (zh) | 基于SpringMVC的WebGIS电网可视化框架的构建方法、系统及装置 | |
CN110989999A (zh) | 代码生成方法、装置、电子设备及介质 | |
CN104809534A (zh) | 业务流程管理系统 | |
CN103677819A (zh) | 基于osgi的代码正向工程的实现方法和实现装置 | |
CN102662662A (zh) | 嵌入式图形界面生成系统及方法 | |
CN112416305A (zh) | 一种基于VisualStudio的快速开发方法 | |
CN110825367B (zh) | 一种适用于龙芯cpu环境下的表单设计器的设计方法 | |
CN103699746A (zh) | 基于数据库的cadds5管系三维设计方法及系统 | |
WO2016201813A1 (zh) | 一种基于Android的动态布局方法及系统 | |
CN103793227A (zh) | 一种实现wcf服务的方法 | |
CN106406978A (zh) | 私有云虚拟机模板自动制作装置及方法 | |
CN116415321A (zh) | 一种云端cad处理系统及其构建方法 | |
CN104199675A (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 |
Application publication date: 20150506 |
|
RJ01 | Rejection of invention patent application after publication |