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,的配置文件信息:
<?xml version="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的表,結構如下:?????










第三步,進入操作系統命令行,切換到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>
其中的參數是可以缺省的,如果使用easyjweb <tableName>,即可生成一個CRUD應用的代碼。下面是一些常用參數及介紹:
easyjweb -t=bean [-package=xxxx] <tableName> 根據表名生成持久層域對象,-package參數可以用來指定域對象所處的包。
easyjweb -t=action [-package=xxxx] [-beanPackage=xxxx]?<tableName> 根據表名生成CRUD Action,-pachage參數用來指定生成的Action所處的包,beanPackage參數用來指定域對象所處的包。
easyjweb -t=listPage <tableName> 根據表名生成信息分頁列表頁面,并支持排序操作。
easyjweb -t=editPage <tableName> 根據表名生成信息編輯頁面。
easyjweb -t=test [-beanPackage=xxxx]?<tableName> 生成測試代碼
...
?? EasyJWeb Tools文檔(不斷更新中...):http://wiki.easyjf.com/display/wiki/EasyJWebTools