driver=org.gjt.mm.mysql.Driver
url=jdbc:mysql://localhost/jpetstore
username=root
password=root
第三步:运行工程右键点击“jpetstoreWeb”工程,选择“在服务器上运行”

由于WSAD带WebSphere测试环境,全部默认就可以。
在IE运行 http://localhost:9080/jpetstoreWeb/
控制台右下有“服务器”,可以启动或者停止服务器。
第四步:重构项目1.右键com.ibatis.jpetstore.persistence.iface.AccountDao,选择“重命名”,如为IAccountDao(我个人的习惯,接口都以I开头),所有引用AccountDao的java文件中,AccountDao也全部更改名称了。其余的几个Dao也重命名。
2.打开com.ibatis.jpetstore.service.AccountService,选择“重构”->“抽取接口”,命名IAccountService,形成接口和实现两个文件,所有对AccountService的引用也同时修改。
第五步:导出EAR文件。二、在Websphere5.1中运行jpetstore
进入Webshpere的管理控制台,选择安装新的应用程序,导入并发布jpetstore.ear后,就可以在IE中直接运行了( http://localhost:9080/jpetstoreWeb/)。
三、用ROSE为jpetstore建模
本部分的模型,首先通过ROSE工具的反向工程(Reverse Engineer)、然后进行整理生成。
(一)、UseCase用例

普通用户(user)可以搜索产品(searchProducts)、查看产品分类(viewCategory)、查看产品(viewProduct)、查看产品项目(viewItem)、注册新账号(newAccount)、登陆(sign-In)。
登陆后的用户(signedUser)可以注销登陆(sign-Out)、编辑账号(editAccount)、将产品项目放入购物车(addItemToCart)、从购物车删除产品项目(removeItemFromCart)、修改购物数量(updateCartQuantities)、新订单(newOrder)、查看订单(viewOrder)、查看购物车(viewCart)、结算(checkout)。
(二)、数据模型

jpetstore的数据模型可以分三大类:
1.产品相关:
产品分类(CATEGORY)
产品(PRODUCT),也可以说是产品的小分类
单个产品(ITEM),描述具体产品的详细属性
供应商(SUPPLIER)
产品库存(INVENTORY)
2.用户账号相关:
用户账号(ACCOUNT)
用户口令(SIGNON),ibatis纯粹为了展示表关联的用法。
用户配置文件(PROFILE),存放用户个性化信息。
系统BANNER信息(BANNERDATA)
3.订单相关:
用户订单(ORDERS)
订单状态(ORDERSTATUS)
订单详情(LINEITEM)
(三)、WEB模型
WEB模型一向是各个建模工具的弱项,ROSE的WEB建模能力也不强,有时不能表达准确的含义。
1.新增、修改账号

2.浏览产品

3.订单

4.购物车(略)
对于WEB模型,配合struts的导航图(NitroX生成,部分截图),会更清楚些。

(四)、类图

兰色方框内是通过spring+hibernate实现的。可以看到,表现层的AccountBean是面向接口调用Service的,当改为用hibernate实现O/R mapping时,只需要修改接口的实现类(DAO持久层),表现层的程序不需要任何修改。
资源:
附件一:ROSE,jpetstore.mdl
[
下载文件]
附件二:jpetstoreWeb工程(不包括spring.jar、hibernate3.jar,太大了)
[
下载文件]