EasyJWebTools 提供了两种代码生成方式,一种是基于命令行的代码生成,另一种是基于开发工具IDE插件的可视化生成。 EasyJWeb -0.8.0版本提供了简单的命令行生成方式,可以通过使用 EasyJWeb 命令行工具,实现简单的通用代码生成。
在取得 EasyJWeb 源码以后,在bin目录有两个关于代码生成的bat文件,分别是easyjwebtools.bat以及easyjweb.bat,用于在windows系统下自动生成代码。easyjwebtools.bat是一个生成演示程序,其后参数只需要改一个或多个表名,即可生成一系列针对数据表的CRUD应用。步骤如下:
在修改src/main目录下的easyjf-dbo.xml文件,这个文件是连接数据库用的,根据你的情况进行修改,如下面是使用mysql默认端口,连接名为easydbo的数据库,用户名为root,密码为mysql,的配置文件信息:
xmlversion="1.0"encoding="UTF-8" ?>
easyjf-dbo >
datasource name ="bbs" type ="org.apache.commons.dbcp.BasicDataSource" >
property name ="easydbo.connection.driver_class" > org.gjt.mm.mysql.Driver property >
property name ="easydbo.connection.password" > mysql property >
property name ="easydbo.connection.url" > jdbc:mysql://127.0.0.1:3306/easydbo property >
property name ="easydbo.connection.username" > root property >
property name ="easydbo.dialect" > com.easyjf.dbo.sql.MySqlQuery property >
property name ="easydbo.show_sql" > true property >
property name ="easydbo.cache_name" > EasyDBO property >
property name ="easydbo.enable_cache" > true property >
datasource >
tables >
tables >
easyjf-dbo >
然后我们在数据库easydbo中建设一个名为message的表,结构如下:
CREATE TABLE `message`(
`id` int ( 11 ) NOT NULL default ' 0 ' ,
`title` varchar ( 50 ) default NULL ,
`content` text ,
`inputUser` varchar ( 16 ) default NULL ,
`inputTime` datetime default NULL ,
`publish` tinyint ( 3 ) default NULL ,
`status` int ( 11 ) default NULL ,
PRIMARY KEY (`id`)
)
第三步,进入操作系统命令行,切换到easyjweb主目录的bin下,然后输入下面的命令:
easyjwebtools message
最后一步,上面的命令执行完后,即会在 EasyJWeb 主目录的release目录下生成一个类似easyjf-jweb-0.8.0.war的文件,把这个文件拷到web应用服务器的webapps目录下,重启动web应用服务器,然后在地址栏中输入类似 http://localhost:8080/easyjf-jweb-0.8.0/message.ejf  ;的地址,即可访问生成的CRUD程序。在程序中,可以执行添加数据、修改数据、删除数据、分页、查询、排序等操作。如下图所示:
也就是说,easyjwebtools命令在生成代码以后,还会执行编译及打包等操作,另外生成的文件名、路径等都是 EasyJWeb 默认的,在实际应用中一般不常用。
下面说说最常用到的代码生成命令,easyjweb.bat。这个命令可以用来跟一定的参数,指定生成某一种类型的代码,比如生成一个数据添删改查的CRUD应用,或是生成一个业务接口、实现,又或者是生成测试代码,也可以生成某一种类型的模板页面。并能够通过这些参数指定生成的目标位置,package结构等。easyjweb命令的使用模式如下:
easyjweb [arg1,arg2,...argn] <tablename></tablename>
其中的参数是可以缺省的,如果使用easyjweb <tablename>,即可生成一个CRUD应用的代码。下面是一些常用参数及介绍:</tablename>
easyjweb -t=bean [-package=xxxx] <tablename> 根据表名生成持久层域对象,-package参数可以用来指定域对象所处的包。</tablename>
easyjweb -t=action [-package=xxxx] [-beanPackage=xxxx]<tablename> 根据表名生成CRUD Action,-pachage参数用来指定生成的Action所处的包,beanPackage参数用来指定域对象所处的包。</tablename>
easyjweb -t=listPage <tablename> 根据表名生成信息分页列表页面,并支持排序操作。</tablename>
easyjweb -t=editPage <tablename> 根据表名生成信息编辑页面。</tablename>
easyjweb -t=test [-beanPackage=xxxx]<tablename> 生成测试代码</tablename>
...
EasyJWeb Tools文档(不断更新中...): http://wiki.easyjf.com/display/wiki/EasyJWebTools