EST-BPM开发平台-代码生成器

[b]一、快速开发平台的介绍 [/b]
代码加速器是基于Velocity模板,Ant执行脚本,结合项目的开发,可以大大减少开发人员的工作量,把重复的程序配置、通用的功能(CRUD)管理等代码一起生成出来。开发用户仅需要设计好相关的表,配置好生成代码的参数,执行Ant的脚本命令则可。基于此,开发人员可以从重复繁杂的编码工作中解放出来,专注于程序的业务实现。目前代码加速器的模板是基于J.Office的开发平台上的,开发用户也可以根据自己的需要,修改模板,添加模板或删除模板等。

[b]二、使用说明 [/b]
1. 在项目中引入代码加速器

把代码加速器的全部代码放置在开发目录下,如可以放置在metadata目录下,如下图所示:
[img]http://dl.iteye.com/upload/attachment/187895/d8dd1803-0b97-3d0b-ae59-04a4471d75e1.jpg[/img]


设置好目录后,需要指定代码生成的根目录,即我们需要把代码生成到该目录的上两级目录,在这里,我们需要进入代码加速器的配置。

2. 生成代码步骤

代码加速器的目录结构如下所示
[img]http://dl.iteye.com/upload/attachment/187900/05ddb155-9667-3572-92c8-a2960b4986f9.jpg[/img]

目录结构文件说明
conf目录
代码加速器的配置目录
lib目录
代码加速器的依赖包
templates目录

为代码生成的模板目录,其下的common目录为通用的应用程序模板,在开发JEE程序时,我们都会有相应的实体类,服务类,数据访问类等,而视图层可以采用多种技术,如Spring MVC,Struts,所以其下的另外两个目录为SpringMVC,Struts视图的模板。

build.xml
为代码生成器的脚本命令配置
specifiedTables
用于指定生成代码的表

生产代码设置步骤
1. 设置代码产生的目录
修改conf/generator.properties下的javaOutputLocation参数,使其设置为以下值:
javaOutputLocation=../../
在此也可以写成开发环境的项目的绝对路径,如:D:/workspace/joffice/
2. 设置数据库连接
修改conf/generator.properties下的以下参数,并设置正确,如:
# [All Databases]
dbUserid=root
dbPasswd=000
dbSchema=joffice

jdbcDriver=com.mysql.jdbc.Driver
dbUrl=jdbc:mysql://localhost/joffice

【注】在Oracle的环境下,需要特别注意,由于在oracle下,其默认字段是不区分大小写的,因而这对生成的代码并不好,如某实体的属性字段均为大写会给代码带来一些问题。所以可以建多一个Oracle库用于生成代码,并设置其区分大小写字段。这样还不与其维护多一个mysql的库,用于生成代码更为方便些,两个库的不同脚本可以通过powerdesign工具可以比较方便进行转化。

3. 设置实体所在包
修改conf/PackageNames.properties,加上类似以下代码,告诉生成器把代码生成至哪一个目录包下(左为表名,右为包名):
duty=personal
errands_register=personal
msg_info=system
msg_type=system
4. 指定生成代码对应的表
在specifiedTables指定生成的表名,如以下则代表同时生成这两个表
msg_info
msg_type
5. 执行Ant的命令
在eclipse中的Ant视图中,把codegen/build.xml加进去,执行其缺省的任务(generate)

【说明】
[img]http://dl.iteye.com/upload/attachment/187915/8721801d-0200-30c6-a147-1cafce24683b.jpg[/img]

[img]http://dl.iteye.com/upload/attachment/187919/81ee9791-3e3f-30dd-91e6-ed174b7233a6.jpg[/img]
以上步骤1、2仅需要设置一次,其后产生其他表时,则直接设置步骤3、4则可。
生成的文件及路径由conf/ CommonTemplates.properties及conf/FileLoaction.properties两个文件来设置指定的,开发用户若需要生成其他文件,也可以在这两个文件中进行指定。


[b]三、生成代码内容[/b]

如我们为以下表生成管理界面,
[img]http://dl.iteye.com/upload/attachment/187902/c1a44539-361e-3043-85ce-830244890865.jpg[/img]

表news_info则对应生成的文件内容有:


1. 实体类: NewsInfo.java
2. 映射文件: News Info.hbm.xml
3. Dao接口及实现类:NewsInfoDao.java
NewsInfoDaoImpl.java
4. Service接口及实现类 :NewsInfoService.java
NewsInfoServiceImpl.java
5. Action类:NewsInfoAction.java
6. 测试类:NewsInfoDaoTestCase.java
7. 配置文件:app-service.xml
app-dao.xml
app-action.xml
8. Ext js :NewsInfoView.js
NewsInfoForm.js

生成的最终界面如下所示:
[img]http://dl.iteye.com/upload/attachment/187905/94fedf70-8d6d-31ba-af6b-66251c75eb58.jpg[/img]
[img]http://dl.iteye.com/upload/attachment/187907/7dcc8361-89af-3e7b-a4ea-1ba49dca36b8.jpg[/img]
[img]http://dl.iteye.com/upload/attachment/187911/68e8379a-5617-38d4-8122-b060bbf6d66d.jpg[/img]

培训视频下载地址:http://bbs.jee-soft.cn/posts/list/103.page

你可能感兴趣的:(JBPM)