jpetstore 5.0部署上遇到的bug

今天学习在tomcat 上部署 jpetstore,但是按照网上其他的朋友写的部署方法,发生了错误,因为我用的oracle数据库,而其他人都用的mysql,所以这个错误好像还没有人写出来。

先列举一下我的部署方法,实际上很简单。

1.下载jpetstore5.0,解压缩后,将iBATIS_JPetStore-5.0\JPetStore-5.0\build\wars下的jpetstore.war拷贝到tomcat 的发布目录。最好解压缩,因为后面要修改其中的数据源配置。

2. 使用iBATIS_JPetStore-5.0\JPetStore-5.0\src\ddl\oracle 文件夹里的sql文建立oracle的数据库表。(我是用plsql建立的)记住使用这两个文件的顺序,先使用jpetstore-oracle-schema.sql建立表结构,然后用第二个建立测试数据。

3.修改数据源配置,配置文件在C:\Tomcat 5.0\webapps\jpetstore\WEB-INF\classes\properties下的database.properties,按照实际情况修改。

基本上就这三步,就可以配置成功!但是启动tomcat后,点击http://127.0.0.1:8086/jpetstore/shop/index.shtml  ,然后接着点进去查看动物列表,点到选择 动物 itemId的时候,就会提示错误说
C:\Tomcat 5.0\webapps\jpetstore\WEB-INF\classes\com\ibatis\jpetstore\persistence\sqlmapdao\sql 中的Item.xml有问题,而且报的是数据库SQL错误,错误提示我不在这里写了,后来,我打开item.xml后,把其中的sql复制到plsql里运行了一下,终于发现错误啦!

错误的提示:未明确定义列 ITEMID
错误的原因:因为其中的SQL是多表查询,而这几个表里都有 itemId字段,而且它写的 select   ITEMID......没有指定是那个表的itemId,所以,将这个字段加一个表名前缀就可以了,例如:select  I.itemId ........

改正后,重起tomcat,然后运行程序,一切OK!

如果有不明白的地方,可以发邮件探讨 listenan#tom.com

你可能感兴趣的:(oracle,sql,tomcat,mysql,ibatis)