driver=org.gjt.mm.mysql.Driver
url=jdbc:mysql://localhost/jpetstore
username=root
password=root
第三步:運行工程右鍵點擊“jpetstoreWeb”工程,選擇“在服務器上運行”

由于WSAD帶WebSphere測試環(huán)境,全部默認就可以。
在IE運行 http://localhost:9080/jpetstoreWeb/
控制臺右下有“服務器”,可以啟動或者停止服務器。
第四步:重構(gòu)項目1.右鍵com.ibatis.jpetstore.persistence.iface.AccountDao,選擇“重命名”,如為IAccountDao(我個人的習慣,接口都以I開頭),所有引用AccountDao的java文件中,AccountDao也全部更改名稱了。其余的幾個Dao也重命名。
2.打開com.ibatis.jpetstore.service.AccountService,選擇“重構(gòu)”->“抽取接口”,命名IAccountService,形成接口和實現(xiàn)兩個文件,所有對AccountService的引用也同時修改。
第五步:導出EAR文件。二、在Websphere5.1中運行jpetstore
進入Webshpere的管理控制臺,選擇安裝新的應用程序,導入并發(fā)布jpetstore.ear后,就可以在IE中直接運行了( http://localhost:9080/jpetstoreWeb/)。
三、用ROSE為jpetstore建模
本部分的模型,首先通過ROSE工具的反向工程(Reverse Engineer)、然后進行整理生成。
(一)、UseCase用例

普通用戶(user)可以搜索產(chǎn)品(searchProducts)、查看產(chǎn)品分類(viewCategory)、查看產(chǎn)品(viewProduct)、查看產(chǎn)品項目(viewItem)、注冊新賬號(newAccount)、登陸(sign-In)。
登陸后的用戶(signedUser)可以注銷登陸(sign-Out)、編輯賬號(editAccount)、將產(chǎn)品項目放入購物車(addItemToCart)、從購物車刪除產(chǎn)品項目(removeItemFromCart)、修改購物數(shù)量(updateCartQuantities)、新訂單(newOrder)、查看訂單(viewOrder)、查看購物車(viewCart)、結(jié)算(checkout)。
(二)、數(shù)據(jù)模型

jpetstore的數(shù)據(jù)模型可以分三大類:
1.產(chǎn)品相關(guān):
產(chǎn)品分類(CATEGORY)
產(chǎn)品(PRODUCT),也可以說是產(chǎn)品的小分類
單個產(chǎn)品(ITEM),描述具體產(chǎn)品的詳細屬性
供應商(SUPPLIER)
產(chǎn)品庫存(INVENTORY)
2.用戶賬號相關(guān):
用戶賬號(ACCOUNT)
用戶口令(SIGNON),ibatis純粹為了展示表關(guān)聯(lián)的用法。
用戶配置文件(PROFILE),存放用戶個性化信息。
系統(tǒng)BANNER信息(BANNERDATA)
3.訂單相關(guān):
用戶訂單(ORDERS)
訂單狀態(tài)(ORDERSTATUS)
訂單詳情(LINEITEM)
(三)、WEB模型
WEB模型一向是各個建模工具的弱項,ROSE的WEB建模能力也不強,有時不能表達準確的含義。
1.新增、修改賬號

2.瀏覽產(chǎn)品

3.訂單

4.購物車(略)
對于WEB模型,配合struts的導航圖(NitroX生成,部分截圖),會更清楚些。

(四)、類圖

蘭色方框內(nèi)是通過spring+hibernate實現(xiàn)的。可以看到,表現(xiàn)層的AccountBean是面向接口調(diào)用Service的,當改為用hibernate實現(xiàn)O/R mapping時,只需要修改接口的實現(xiàn)類(DAO持久層),表現(xiàn)層的程序不需要任何修改。
資源:
附件一:ROSE,jpetstore.mdl
[
下載文件]
附件二:jpetstoreWeb工程(不包括spring.jar、hibernate3.jar,太大了)
[
下載文件]