Jpetstore

http://www.hudong.com/wiki/Jpetstore

 

PetStore是sun公司为了演示自己的J2EE而编写的一个宠物店的电子商务的例子。随后它便成为其他一些
公司为了展示自己性能而竞相模仿的例子。JPetStore就是ibatis所展示的例子,当然各个公司实现这个
例子的侧重点都是自己的产品,ibatis主要是为了展示它的数据持久化的。通过JPetstore可以让我们更
清楚的了解ibatis的用法和优点。
先看如何在windows下使用tomcat和mysql运行JPetStore.
第一步:配置JDK和MySQL 
第二步:下载JPetStore 
第三步:创建JPetStore数据库 
把iBATIS_JPetStore-4.0.5\ddl\mysql下jpetstore-mysql-schema.sql, jpetstore-mysql-dataload.sql, 
jpetstore-mysql-create-user.sql三个文件拷贝到MySQL的bin目录下,到MySQL的命令提示符下分别运行这
三个文件: 
mysql -uroot –p < jpetstore-mysql-schema.sql 
mysql -uroot –p < jpetstore-mysql-dataload.sql 
mysql -uroot –p < jpetstore-mysql-create-user.sql 
以上三个文件分别是创建数据库JPetStore,导入数据,分配权限。如果你安装了MySQL的管理工具,您也可以
在您按装的管理工具下运行这三个文件。 
如果你安装了MySQL-Front,可以直接点击SQL编辑器,依次将上述文件中的SQL语句拷贝,执行。
第四步:部属JPetStore

把iBATIS_JPetStore-4.0.5\build\wars下的jpetstore.war复制到Tomcat的Webapps目录下,接着运
行Tomcat(http://localhost:8080)。接着在看Webapps目录下会出现jpetstore文件夹,找到该文件
夹下WEB-INF\classes\properties目录下的database.properties,把里面的内容替换成如下:

####################################

# Database Connectivity Properties

#################################### 
driver=org.gjt.mm.mysql.Driver 
url=jdbc:mysql://localhost:3306/jpetstore 
username=jpetstore 
password=yourkeyword 
重启Tomcat.(注意如果不成功,有可能是driver太老,可以换成com.mysql.jdbc.Driver试一下,当然前
提是mysql驱动包足够新)。

 

下面开始看这个例子,因为它是ibatis给的,所以最主要的还是ibatis如何使用,和他的方便灵活。
在ibatis中要持久化数据首先要搞定一些配置文件,JpetStore给出了一个很完整的例子。先是database.properties 
在这里面配置了数据库的一些基本信息包括驱动,url,用户名,密码,很简单也很清晰。直接使用这些信息的是
sql-map-config.xml引用database.properties如下
<properties resource="properties/database.properties"/>。sql-map-config.xml从database.properties主要等到
${driver},${url},${username},${password}等信息。sql-map-config.xml同时与另一些配置文件联系上了,如
<sqlMap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/Account.xml"/>,这样sql-map-config.xml
就完成了自己的任务,得到了数据库的一些基本信息,同时与Account.xml等一些文件建立了联系。


下面就可以看一下Account.xml了,在Account.xml中做了什么呢?做了2件事
第一,指定了接口类,<typeAlias alias="account" type="com.ibatis.jpetstore.domain.Account"/>。
同时在类的属性和数据表的列之间建立了联系。
<resultMap id="accountResult" class="account">
    <result property="username" column="USERID"/>。。。。。
第二,写出了业务逻辑中所用到的操作,对应的sql语句,如
<update id="updateSignon" parameterClass="account">
    update SIGNON set PASSWORD = #password# where USERNAME = #username#
</update>

<update id="updateAccount" parameterClass="account">
    update ACCOUNT set EMAIL = #email#, FIRSTNAME = #firstName#, LASTNAME = #lastName#,
    STATUS = #status#, ADDR1 = #address1#,  ADDR2 = #address2:VARCHAR#,  CITY = #city#,
    STATE = #state#, ZIP = #zip#, COUNTRY = #country#,PHONE = #phone# where USERID = #username#
</update>等,这样到时用的话之间可以写作:update("insertSignon", account);这句是在AccountDao.java的实现
类AccountSqlMapDao.java中。以上2点就是Account.xml的作用。

 

在上面的Account.xml作用中,提到了AccountSqlMapDao.java和AccountDao.java,他们怎么没出现在
那个配置文件中呢?别急,还有一个dao.xml。这个文件联系了sql-map-config.xml
<transactionManager type="SQLMAP">
      <property name="SqlMapConfigResource"
        value="com/ibatis/jpetstore/persistence/sqlmapdao/sql/sql-map-config.xml"/>
</transactionManager>
也指定了dao的interface和implementation,
<dao interface="com.ibatis.jpetstore.persistence.iface.AccountDao"
implementation="com.ibatis.jpetstore.persistence.sqlmapdao.AccountSqlMapDao"/>
这就是ibatis持久化所需要的所有配置文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值