CN103092589A - 一种基于ssh框架的代码自动生成方法 - Google Patents
一种基于ssh框架的代码自动生成方法 Download PDFInfo
- Publication number
- CN103092589A CN103092589A CN 201110345536 CN201110345536A CN103092589A CN 103092589 A CN103092589 A CN 103092589A CN 201110345536 CN201110345536 CN 201110345536 CN 201110345536 A CN201110345536 A CN 201110345536A CN 103092589 A CN103092589 A CN 103092589A
- Authority
- CN
- China
- Prior art keywords
- database
- code
- self
- information
- configuration
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
一种基于SSH框架的代码自动生成方法包括步骤:A、自定义相关信息,其包括自定义代码模板和数据库信息;B、配置数据库类型、数据库参数、源代码保存路径;C、根据步骤A中自定义的代码模板和数据库信息,选择不同的代码模板及需要生成的数据库对象;以及D、根据步骤B中的配置信息以及在步骤C中所选择的代码模板及数据库对象,自动生成源代码。
Description
技术领域
本发明涉及计算机的代码生成技术,尤其是涉及一种基于SSH框架的代码自动生成方法。
背景技术
随着计算机及软件技术的快速发展,软件产品的需求一直处于增长的状态,面对如此庞大的软件需求,如何提高软件的生产效率,降低软件开发的周期与成本,便成为软件开发人员乃至整个行业所关注的焦点。
在现有的软件开发过程中,主要采用更高级的开发语言、代码复用或代码生成组件来提高开发效率。例如,目前比较流行的Javascrīpt框架jquery,它是轻量级的js库(压缩后只有21k),提供成熟的插件供用户选择,并能使用户的html页保持代码和html内容分离。
但是,现有技术在个性化及灵活性方面存在一定的局限性:一是架构或版本不够灵活;二是无法根据数据库自动生成业务对象的所有源代码,三是用户无法自定义代码模板。
发明内容
本发明是鉴于上述技术问题而产生的。本发明的一个目的是提出一种基于SSH框架的代码自动生成方法。
在一个方面中,根据本发明的基于SSH框架的代码自动生成方法包括步骤:A、自定义相关信息,其包括自定义代码模板和数据库信息;B、配置数据库类型、数据库参数、源代码保存路径;C、根据步骤A中自定义的代码模板和数据库信息,选择不同的代码模板及需要生成的数据库对象;D、根据步骤B中的配置信息以及在步骤C中所选择的代码模板及数据库对象,自动生成源代码。
在这个方面中,其中步骤D进一步包括步骤:D1、步骤A中所自定义的代码模板引用步骤B中的数据库类型、数据库参数、源代码保存路径等配置信息;D2、根据配置变量读取数据库相关信息,建立与数据库表结构对应的模型;D3、根据自定义的代码模板自动生成基于SSH框架的前后台代码及相应配置XML配置文件,并自动拷贝到步骤B中配置的相应目录。
在这个方面中,其中步骤A进一步包括:自定义前台源代码模板和后台源代码模板,并且其中数据库信息包括数据库建表语句及别名。
在这个方面中,其中数据库参数包括数据库连接URL、数据库用户名、数据库密码。
通过本发明,用户只需定义业务对象的数据库结构、相关数据库配置及SSH版本信息,即可生成用户所需的源代码,由此节省了软件开发时间,极大地提高了软件开发效率,同时代码风格得到统一,实现了代码的快速开发。
附图说明
结合随后的附图,从下面的详细说明中可显而易见的得出本发明的上述及其他目的、特征及优点。在附图中:
图1示出了根据本发明的基于SSH框架的代码自动生成方法的流程图;
图2示出了根据本发明的基于SSH框架的代码自动生成方法的子流程图。
具体实施方式
为了更全面地理解本发明及其优点,下面结合附图及具体实施例对本发明做进一步详细地说明。
首先,参考图1,对根据本发明的基于SSH框架的代码自动生成方法进行详细地说明。
如图1所示,根据本发明的基于SSH框架的代码自动生成方法包括:
步骤S102:自定义相关信息,其包括自定义代码模板和数据库信息。
具体地说,自定义代码模板包括:(1)自定义前台源代码模板,其例如包括Peer、Action、Form、Service、Dao、JunitTest代码模板等等;(2)自定义后台源代码模板,其例如包括查询、增加、修改、详情、删除页面模板等。通过自定义代码模板,可以自动生成用户需要的源代码。
数据库信息包括数据库建表语句及别名。别名主要用于生成查询、增加、修改、详情、删除页面各属性的名称;通过属性名称,自动将数据库表结构字段与该属性的实际内容对应。
步骤S104:配置数据库类型、数据库参数、源代码保存路径。
具体地说,数据库类型例如包括Oracle、Mysql、SQLServer、Sybase、Db2等等。数据库参数例如包括数据库连接URL、数据库用户名、数据库密码。
步骤S106:根据步骤S102中自定义的代码模板和数据库信息,选择不同的代码模板及需要生成的数据库对象。
步骤S108:根据步骤S104中的配置信息以及在步骤S106中所选择的代码模板及数据库对象,自动生成源代码。
具体地说,如图2所示,该步骤进一步包括:
步骤802:步骤S102中所自定义的代码模板引用步骤S104中的数据库类型、数据库参数、源代码保存路径等配置信息;
步骤804:根据配置变量读取数据库相关信息,建立与数据库表结构对应的模型;
步骤806:根据自定义的代码模板自动生成基于SSH框架的前后台代码及相应配置XML配置文件,并自动拷贝到步骤S104中配置的相应目录。
下面,以仓库配置信息为例,对此进行说明。
步骤1:自定义SSH框架的前后台以及SSH框架代码里面的配置xml文件,SSH框架代码包java、jsp、html、js、xml等文件。
步骤2:配置数据库类型、数据库参数、源代码保存路径。
步骤3:通过数据库工具创建仓库配置信息,即选择数据库参数。
步骤4:启动自动代码生成工具,并执行“gen仓库配置信息表名”命令,自动根据模板在步骤2中的源代码保存路径,生成前后台及xml配置文件等与仓库配置信息功能相关的源代码。
至此,代码自动生成过程结束。
通过以上描述可知,借助于本发明,可以获得以下优点:
(1)简洁实用:用户只需要一次性定制代码模板、配置参数即可,以后每次自动生成源代码时,可重复利用;首先定义对应的表结构,再选择代码模板及相关配置信息即可自动生成源代码;
(2)灵活性强:可以针对不同的Spring、Struts、Hibernate版本,自动生成不同版本的源代码;同时支持Oracle、Mysql、SQLServer、Sybase、Db2等目前主流的数据库;
(3)高效:可以大大缩短开发时间、节省开发成本;
(4)代码风格统一:通过模板生成的代码结构一致、风格统一,便于维护。
综上所述,本发明以低成本完成了基于SSH框架的源代码自动生成功能,简单实用,灵活性强,良好的附加功能扩充性,以及便捷的操作使用方式。用户可以方便的自定义源代码模板,配置不同的数据库参数,选择不同的数据库对象生成对应的源代码,达到源代码模板自定义和个性化选择不同数据库的目的。同时,极大的提高了软件的生产效率,降低了软件的开发周期的开发成本。
此外,对于本领域的普通技术人员来说可显而易见的得出其他优点和修改。因此,具有更广方面的本发明并不局限于这里所示出的并且所描述的具体说明及示例性实施例。因此,在不脱离由随后权利要求及其等价体所定义的一般发明构思的精神和范围的情况下,可对其做出各种修改。
Claims (4)
1.一种基于SSH框架的代码自动生成方法包括步骤:
A、自定义相关信息,其包括自定义代码模板和数据库信息;
B、配置数据库类型、数据库参数、源代码保存路径;
C、根据步骤A中自定义的代码模板和数据库信息,选择不同的代码模板及需要生成的数据库对象;
D、根据步骤B中的配置信息以及在步骤C中所选择的代码模板及数据库对象,自动生成源代码。
2.根据权利要求1的方法,其中步骤D进一步包括步骤:
D1、步骤A中所自定义的代码模板引用步骤B中的数据库类型、数据库参数、源代码保存路径等配置信息;
D2、根据配置变量读取数据库相关信息,建立与数据库表结构对应的模型;
D3、根据自定义的代码模板自动生成基于SSH框架的前后台代码及相应配置XML配置文件,并自动拷贝到步骤B中配置的相应目录。
3.根据权利要求2的方法,其中步骤A进一步包括:自定义前台源代码模板和后台源代码模板,并且其中数据库信息包括数据库建表语句及别名。
4.根据权利要求3的方法,其中数据库参数包括数据库连接URL、数据库用户名、数据库密码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110345536 CN103092589A (zh) | 2011-11-03 | 2011-11-03 | 一种基于ssh框架的代码自动生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110345536 CN103092589A (zh) | 2011-11-03 | 2011-11-03 | 一种基于ssh框架的代码自动生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103092589A true CN103092589A (zh) | 2013-05-08 |
Family
ID=48205206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110345536 Pending CN103092589A (zh) | 2011-11-03 | 2011-11-03 | 一种基于ssh框架的代码自动生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103092589A (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488738A (zh) * | 2013-09-18 | 2014-01-01 | 北京思特奇信息技术股份有限公司 | 一种自动实现java对象及数据表sql文件的方法及系统 |
CN103677841A (zh) * | 2013-12-18 | 2014-03-26 | 北京航天测控技术有限公司 | 基于元素级模板的ietm的代码生成方法及装置 |
CN104424522A (zh) * | 2013-08-28 | 2015-03-18 | 阿里巴巴集团控股有限公司 | 一种业务处理系统及其配置方法 |
CN104932904A (zh) * | 2015-07-14 | 2015-09-23 | 福建农林大学 | 一种针对智能家居的可配置数据库编程模式 |
CN105068820A (zh) * | 2015-09-11 | 2015-11-18 | 浙江中烟工业有限责任公司 | 一种基于SSH框架集成Axis开发并发布Web Service的方法 |
CN105487864A (zh) * | 2015-11-26 | 2016-04-13 | 北京京东尚科信息技术有限公司 | 代码自动生成的方法和装置 |
CN106354492A (zh) * | 2016-08-23 | 2017-01-25 | 深圳Tcl智能家庭科技有限公司 | 一种快速调整交易流程对接的自动化代码生成方法及系统 |
CN106469064A (zh) * | 2016-09-04 | 2017-03-01 | 深圳市云智易联科技有限公司 | 代码生成方法及代码生成装置 |
CN106933837A (zh) * | 2015-12-29 | 2017-07-07 | 航天信息股份有限公司 | 一种数据库表模型及创建方法 |
CN107589946A (zh) * | 2017-09-12 | 2018-01-16 | 中国银行股份有限公司 | 一种网银产品层代码自动生成方法及装置 |
CN107678735A (zh) * | 2017-09-26 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种基于java平台的技术研发系统 |
CN107729003A (zh) * | 2017-11-20 | 2018-02-23 | 江苏神州信源系统工程有限公司 | 代码的自动生成方法、装置及电子设备 |
CN108228175A (zh) * | 2017-12-29 | 2018-06-29 | 深圳乐信软件技术有限公司 | 活动后台开发方法、装置、服务器及介质 |
CN108279882A (zh) * | 2018-02-12 | 2018-07-13 | 百度在线网络技术(北京)有限公司 | 框架生成方法、装置、设备及计算机可读介质 |
CN109508182A (zh) * | 2018-09-18 | 2019-03-22 | 广州虎牙信息科技有限公司 | 快速生成指令的方法、服务器以及计算机存储介质 |
CN110134381A (zh) * | 2019-04-02 | 2019-08-16 | 珠海安居宝电子科技有限公司 | 一种用于报警主机智能生成源代码配置的系统及方法 |
CN110147225A (zh) * | 2019-04-02 | 2019-08-20 | 平安科技(深圳)有限公司 | 一种代码生成方法、装置及计算机设备、存储介质 |
CN111221522A (zh) * | 2020-01-13 | 2020-06-02 | 大汉软件股份有限公司 | 一种面向政府集约化应用开发的前后端分离架构的自动代码生成方法 |
-
2011
- 2011-11-03 CN CN 201110345536 patent/CN103092589A/zh active Pending
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424522A (zh) * | 2013-08-28 | 2015-03-18 | 阿里巴巴集团控股有限公司 | 一种业务处理系统及其配置方法 |
CN104424522B (zh) * | 2013-08-28 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 一种业务处理系统及其配置方法 |
CN103488738A (zh) * | 2013-09-18 | 2014-01-01 | 北京思特奇信息技术股份有限公司 | 一种自动实现java对象及数据表sql文件的方法及系统 |
CN103677841A (zh) * | 2013-12-18 | 2014-03-26 | 北京航天测控技术有限公司 | 基于元素级模板的ietm的代码生成方法及装置 |
CN103677841B (zh) * | 2013-12-18 | 2017-02-01 | 北京航天测控技术有限公司 | 基于元素级模板的ietm的代码生成方法及装置 |
CN104932904A (zh) * | 2015-07-14 | 2015-09-23 | 福建农林大学 | 一种针对智能家居的可配置数据库编程模式 |
CN105068820B (zh) * | 2015-09-11 | 2018-09-28 | 浙江中烟工业有限责任公司 | 一种基于SSH框架集成Axis开发并发布Web Service的方法 |
CN105068820A (zh) * | 2015-09-11 | 2015-11-18 | 浙江中烟工业有限责任公司 | 一种基于SSH框架集成Axis开发并发布Web Service的方法 |
CN105487864A (zh) * | 2015-11-26 | 2016-04-13 | 北京京东尚科信息技术有限公司 | 代码自动生成的方法和装置 |
CN105487864B (zh) * | 2015-11-26 | 2019-06-04 | 北京京东尚科信息技术有限公司 | 代码自动生成的方法和装置 |
CN106933837A (zh) * | 2015-12-29 | 2017-07-07 | 航天信息股份有限公司 | 一种数据库表模型及创建方法 |
CN106354492A (zh) * | 2016-08-23 | 2017-01-25 | 深圳Tcl智能家庭科技有限公司 | 一种快速调整交易流程对接的自动化代码生成方法及系统 |
CN106469064A (zh) * | 2016-09-04 | 2017-03-01 | 深圳市云智易联科技有限公司 | 代码生成方法及代码生成装置 |
CN107589946A (zh) * | 2017-09-12 | 2018-01-16 | 中国银行股份有限公司 | 一种网银产品层代码自动生成方法及装置 |
CN107678735A (zh) * | 2017-09-26 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种基于java平台的技术研发系统 |
CN107729003A (zh) * | 2017-11-20 | 2018-02-23 | 江苏神州信源系统工程有限公司 | 代码的自动生成方法、装置及电子设备 |
CN108228175A (zh) * | 2017-12-29 | 2018-06-29 | 深圳乐信软件技术有限公司 | 活动后台开发方法、装置、服务器及介质 |
CN108279882A (zh) * | 2018-02-12 | 2018-07-13 | 百度在线网络技术(北京)有限公司 | 框架生成方法、装置、设备及计算机可读介质 |
CN109508182A (zh) * | 2018-09-18 | 2019-03-22 | 广州虎牙信息科技有限公司 | 快速生成指令的方法、服务器以及计算机存储介质 |
CN110134381A (zh) * | 2019-04-02 | 2019-08-16 | 珠海安居宝电子科技有限公司 | 一种用于报警主机智能生成源代码配置的系统及方法 |
CN110147225A (zh) * | 2019-04-02 | 2019-08-20 | 平安科技(深圳)有限公司 | 一种代码生成方法、装置及计算机设备、存储介质 |
CN111221522A (zh) * | 2020-01-13 | 2020-06-02 | 大汉软件股份有限公司 | 一种面向政府集约化应用开发的前后端分离架构的自动代码生成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103092589A (zh) | 一种基于ssh框架的代码自动生成方法 | |
RU2536390C2 (ru) | Способ для автоматизированного создания отчетов | |
CN101697120B (zh) | 基于关系型数据库的j2ee代码生成方法 | |
CN108628608A (zh) | 一种数据可视化的方法及装置 | |
CN103135976B (zh) | 代码自动生成方法及装置 | |
CN102567539B (zh) | 一种web智能报表的实现方法和系统 | |
KR101368068B1 (ko) | 데이터베이스 구축 방법, 이를 실행하는 데이터베이스 구축 서버 및 이를 저장한 기록 매체 | |
CN103853543B (zh) | 一种应用于企业信息系统开发过程中快速构建表单的方法 | |
US8140596B2 (en) | System and method for the derivation and application of sub-iteration contexts in a transformation operation in a data integration system | |
US20140172827A1 (en) | In-memory, columnar database multidimensional analytical view integration | |
CN105487864A (zh) | 代码自动生成的方法和装置 | |
US20180018402A1 (en) | Dynamic hierarchy generation based on graph data | |
US12008013B2 (en) | Applying a visual analytics intent language to generate data visualizations | |
CN104793961A (zh) | 使用原生Web代码的快速JavaWeb开发方法及系统 | |
US20140136958A1 (en) | Relating to distributed access infrastructure for a database | |
CN103593443A (zh) | 一种电子文件元数据扩展的方法 | |
CN102722372A (zh) | 一种通过分类配置自动生成代码的方法及系统 | |
US20150293947A1 (en) | Validating relationships between entities in a data model | |
CN106951254B (zh) | 支付系统中相似业务功能模块复用的方法及装置 | |
CN102222110A (zh) | 数据处理装置和数据处理方法 | |
CN102508862A (zh) | 数据扩展装置和数据扩展方法 | |
CN115113859A (zh) | 一种代码生成方法及装置 | |
CN105468345B (zh) | 一种在快消系统中实现远程改变手机端拜访作业的方法 | |
Gómez et al. | An approach to the co-creation of models and metamodels in Enterprise Architecture Projects. | |
Heino et al. | Managing web content using linked data principles-combining semantic structure with dynamic content syndication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C53 | Correction of patent for invention or patent application | ||
CB02 | Change of applicant information |
Address after: 310012, building 8, building 99, Huaxing Road, Hangzhou, Zhejiang Applicant after: China Telecom Corporation Limited Address before: Hangzhou City, Zhejiang province 310005 Moganshan Road No. 118 Applicant before: China Telecom Corporation Limited |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130508 |