jeefuseMDA快速上手(开发示例)
目录
1.环境搭建
本例展示jeefuse-simple项目上的开发. 该项目选用的技术: struts2.2.1+spring3+hibernate3+ jquery+jquery validate
1.1.开发环境配置:
-
IDE: eclipse 3.7 for Java EE Developers
下载地址: http://www.eclipse.org/downloads/packages/release/indigo/sr2
-
Jdk: jdk 1.7
-
Tomcat: 1.7
-
Msyql: 5.1
1.2. 下载jeefuseMDA项目
您可以下载zip打包文档:
https://github.com/jeefuse/jeefuseMDA/releases
也可以通过git下载源码:
https://github.com/jeefuse/jeefuseMDA.git
1.3. 安装jeefuseMDA 插件.
解压下载的jeefuseMDA文档,在jeefuse-mda目录下有
解压taylor-mda-with-jeefuse-mda-jee-1.3.0.zip并将其拷贝至eclipse目录下的dropins文件夹下, 在eclipse根目录下,打开cmd运行eclipse –clean 启动eclipse,eclipse会重新搜索并安装插件.
1.4. 设置eclipse.ini 中文件的编码
打开eclipse目录下elipse.ini文件,最后添加-Dfile.encoding=UTF-8 ,避免在生成代码时文件编码不一致造成乱码.eclipse重启后生效.
1.5. 导入jeefuse-simple项目
打开eclipse菜单“File->import->Existing project into workspace”导入jeefuse-simple项目
导入结果如下:
如您要开发新的项目,可以导入后更改项目名(“点击项目右键->refactor->rename”)
以上是java 透视图展示窗口,您可以打开window->open perspective 选择java 转到java透视窗口.当然其它perspective中开发如java EE也是可以的,这按您的习惯,如下所示。
1.6. 设置项目的编码为utf-8
项目右键属性,在打开的窗口中选择resources选项卡,设置text file encoding的编码为UTF-8.
1.7. 修改项目的数据库连接配置
打开/src/main/resources/application.properties设置实际的数据库连接信息.
2. 创建模型
可直接创建uml模型或通过其它元数据导入为uml模型,目前只支持从 数据表导入为uml 模型.这里主要介绍从table shema导入模型.
2.1. 直接创建uml模型
打开“new->Taylor->Taylor uml model“输入文件名字,选择model文件夹
完成后,再添加包、类、属性等uml模型元素。在元素上应有定型( stereotype).
2.2. 从数据表(table)导入为uml模型
在mysql数据库中创建了如下表
create table jeefuse_demo ( id varchar(32) not null comment 'ID号', title varchar(120) not null comment '标题', brief varchar(250) comment '摘要', create_date datetime not null comment '创建时间', update_date datetime not null comment '更新时间', marker varchar(60) not null comment '标注', primary key (id) ); alter table jeefuse_demo comment '信息'; |
拷贝项目model文件夹下的importDbToModel_demo.xml为jeefuse_demo.xml
设置数据库连接信息,要导入的表,及相应要生成的包名如下:
2.2.1. 从数据表生成uml model
项目右键import或菜单”File->Import”选择import DB Schema to UML Model with config,
设置选项:
选择文件存放目录为model文件夹.
new model File Name: 填写模型文件名,uml后缀.
Select Import DbToModel config file:刚才创建的jeefuse_demo.xml,导入数据表配置信息。
Select JDBC Driver Jar:mysql、orcale数据库不需要设置,其他数据库指定jdbc driver jar包.
点击完成.
3. 生成代码
3.1. 配置taylor generator参数 打开”window->preferences->Taylor Generator”
其中:
- Filter base package:在生成资源文件(jsp,js等)时,生成的文件路径默认为包的路径,指定该项可在生成文件路径时除去该指定的部分. 例如:
类路径为 com.jeefuse.demo.demoinfo.java
生成的jsp路径为com/jeefuse/demo/demoinfo/demoinfo-manage.jsp
指定该值:com.jeefuse后,生成的jsp路径为
demo/demoinfo/demoinfo-manage.jsp - Suffix include/override:指定生成代码的项目后缀,可以把它去掉,使它生成在源项目中.
- Include Generator:勾选需要的生成器.
完成后ok保存:
3.2. 运行代码生成
- 打开taylor 透视图,菜单”window->open perspective->Taylor”,
- 在”model Navigator”导航窗体中,点击刚刚导入的uml模型jeefuse_demo.uml前面的+号.点击模型”…”在右边属性 (properties)窗口中修改name值为项目的名称,使它直接在项目中生成的代码(需要taylor preferences中Suffix include/override的后缀去掉)。
- 点击”…”右键->save保存。
如下所示:
点击”jeefuse-simple”右键->Generate->All生成该模型下的所有代码,您也可以点击只生成该class的代码.
另外有三种方式生成指定的代码:
By Exentsion:根据扩展名
By Project Suffix:根据生成器项目后缀
By Plugin:根据插件
3.3. 查看生成的代码
转到java 透视图(perspective) ,展开代码如下:
生成文件规则:
- 1. java文件,重复生成时如果已存在,代码将会合并.
- 2. 其他的文件如xml,js,jsp将会备份(后缀加.bak.*),后再重新生成.
- 3. 生成的文件存放路径.对于java及xml配置文件根据导入配置文件jeefuse_demo.xml指定 packageName.对于其他资源js、jsp存放路径规则为 包名过滤掉taylor preferences中设置的Filter base package。各自存放在指定的目录下(如上所示).
- 4. 生成的java代码在变量、方法的注释上有添加@generated标识,说明是生成的代码,有时您需要修改生成的java代码,又不希望它在重新生成时 被覆盖.可修改该标识为@nogenerated或其它的名称。重新生成时该代码将不会被覆盖,没有标注@generated的代码不受影响,如下所示:
4. 运行程序
4.1. 配置运行服务器
点击项目右键Run As->Run on Server选择一个Server,
这里选择了Tomcat v7.0(apache tomcat 7.0.23),如果还没有定义server runtime environment,则需要在“window->preferences->server->Runtime Environment”中定义。
这里选择Tomcat v7.0 ->点击Finish,tomcat启动运行,成功后会打开内置的浏览器
在浏览器地址栏中输入刚生成的管理主页地址,请求地址查看生成的struts请求配置文件struts-JeefuseDemo.xml。
http://localhost:8090/jeefuse-simple/demo/jeefuseDemo/manage.vhtml
或点击”查看ACTION列表”->打开config-browser界面
(该struts2-config-browser-plugin插件),在左菜单中点击”/demo/jeefuseDemo “显示该命名空间下的所有actions及配置情况。
点击manage,显示该action的配置信息,
点击” /jeefuse-simple/demo/jeefuseDemo/manage.vhtml "展示生成的管理页面.
4.2. 浏览并操作页面
4.2.1. 管理主页
4.2.2. 新增
4.2.3. 编辑页面
4.2.4. 删除
5. 修改模型,重新生成代码
现在我们在表中再添加一个内容字段,后重新生成模型及代码.
5.1. 添加字段
在表jeefuse_demo添加content字段,如下sql语句:
alter table jeefuse_demo add content longtext comment '内容';
5.2. 重新导入UML模型
- 1) Eclipse转到taylor perspective(window->Open Perspective->Taylor)
- 2) 点击项目或在model文件夹上右键->import->Taylor->Import Db Schema to Exist UML Model with Config,如下:
下一步,填写信息:
Select Import DbToModel config file:选择导入表的配置文件.
Select JDBC Driver Jar:mysql、oracle不需要填写,其他数据库需要填写.
Select Exist model File:选择需要重新生成的摸型文件.
如下所示:
点击完成即可。
5.3. 生成代码 点击生成的模型文件前的”+”展开模型,选择jeefuse-simple右键-> Reload Model重新刷新模型.
可看到新添了content字段.
在<>JeefuseDemo右键->Generate->All重新生成应有于该类的所有代码.您也可以在Model或package上生成,但会生成该模型或包内的所有代码.
5.4. 运行浏览 按上面介绍的方式”项目右键->Run As->Run On Server运行,点击管理界面的”新增”按钮,查看新增页面。
在新增窗口中看到多了个内容选项卡,因为“内容”字段类型是longtext,默认生成fckeditor编辑框,
5.5. 修改应有于uml 模型内容字段的定型(stereotype),
您可以修改应用于content字段的定型NetjeefusemdaannotationsviewInput的属性type的值为其他的类型,如指定为textarea。
操作:切换到taylor perspective,展开模型->点击JeefuseDemo uml类下的content属性元素,在properties窗体中点击Stereotype Attributes选项卡,找到NetjeefusemdaannotationsviewInput的Type,选择其值为textarea.
再重新生成后,页面显示如下:内容字段的输入框为textarea.
6. 添加Excel导入导出功能
6.1. 应用expExcel,impExcel定型
转到taylor 透视图(Perspective)窗口,选择jeefuse-simple下的 JeefuseDemo,在properties窗口中点击stereotypes定型,添加 net.jeefuse.mda.annotations.service.ExpExcel与 net.jeefuse.mda.annotations.service.ImpExcel,如下所示:
在jeefuse-simple上右键->Save保存修改。
重新生成代码,在<>JeefuseDemo右键->Generate->All
6.2. 重新运行,查看导入导出功能
7. 打包发布
- 1) 直接拷贝或打包webapp目录下的文件,放到servlet服务器中,即可运行.
-
2) 使用ant构建. 在项目文件夹下有build.xml ant构建文件,在该目录下,运行命令ant war ,会在dist目录下生成war文件.
也可以在eclipse中操作,打开ant窗口(‘window->show view->Ant’),在窗口中右键添加Ant buildfiles…,选择build.xml,双击war命令,即会在dist目录下(若没有看到,请刷新)生成war文件。
其中build.xml中mda.bak.clean命令是清除有jeefuse-mda生成的备份文件,即后缀为*.bak.*的文件.