一、代码加速器的介绍
代码加速器是基于Velocity模板,Ant执行脚本,结合项目的开发,可以大大减少开发人员的工作量,把重复的程序配置、通用的功能(CRUD)管理等代码一起生成出来。开发用户仅需要设计好相关的表,配置好生成代码的参数,执行Ant的脚本命令则可。基于此,开发人员可以从重复繁杂的编码工作中解放出来,专注于程序的业务实现。目前代码加速器的模板是基于J.Office的开发平台上的,开发用户也可以根据自己的需要,修改模板,添加模板或删除模板等。
二、使用说明
1. 在项目中引入代码加速器
把代码加速器的全部代码放置在开发目录下,如可以放置在metadata目录下,如下图所示:
设置好目录后,需要指定代码生成的根目录,即我们需要把代码生成到该目录的上两级目录,在这里,我们需要进入代码加速器的配置。
2. 生成代码步骤
代码加速器的目录结构如下所示
目录结构文件说明
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)
以上步骤1、2仅需要设置一次,其后产生其他表时,则直接设置步骤3、4则可。
生成的文件及路径由conf/ CommonTemplates.properties及conf/FileLoaction.properties两个文件来设置指定的,开发用户若需要生成其他文件,也可以在这两个文件中进行指定。
三、生成代码内容
如我们为以下表生成管理界面,
表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
生成的最终界面如下所示:
附加 视频介绍下载 (请使用迅雷下载)