词条 | 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持久化所需要的所有配置文件。 |
随便看 |
百科全书收录594082条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。