liyuanyuan

常用链接

统计

最新评论

自学jpetstore5.0(一) 部署jeptstore5.0

将5.0部署到myeclipse6.5+mysql5.0+Tomcat6.0上的步骤:
============================================================================================================
step1:新建项目jpetstore5.0。建议使用JavaEE5、jdk高版本,至少要支持泛型。原因:不用它们不舒服。
============================================================================================================
step2:
 解压下载的JPetStore-5.0.zip ,复制src下的包com、properties到新建的项目jpetstore5.0的src目录下,自然,复制的是包以及包中所有的文件,不仅仅只是包名。
 即然使用的是MySQL,MySQL的驱动要加载的。将mysql-connector-java-5.0.5-bin.jar复制到Tomcat6.0 的lib下,省的每次都配置。
 ============================================================================================================
step3:
 修改properties/database.properties文件如下:
  ####################################
  # Database Connectivity Properties
  ####################################

  driver=com.mysql.jdbc.Driver
  url=jdbc:mysql://localhost:3306/jpetstore
  username=root
  password=root
 
 用户名和密码是自己的MySQL配置。


 src目录下应该还有ddl这个包吧,这个包里的文件是建表语句,既然使用的是MySQL那就要需要手工创建数据源database。表和导入实验数据可以使用程序自动执行(暂不介绍)。
 在新建的项目jpetstore5.0的src目录下新建包ddl,拷贝解压包中src/ddl/mysql中所有的文件。
 到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的管理工具,也可以在管理工具下运行这三个文件。

事实上,这个示例代码支持好几种数据源的配置方案,你若是step3不做,项目有时也是可以正常运行的,前提是你装的hsql数据库。在src.com.ibatis.jpetstore.persistence.DaoConfig中有建表语句,使用的是hsql数据库。当然如果你和我一样,想清楚jpetstore5.0的每一个细节的话,建议修改DaoConfig代码如下:
------------START-----------
 static {
    try {
      daoManager = newDaoManager(null);
      Properties props = Resources.getResourceAsProperties("properties/database.properties");
      String url = props.getProperty("url");
      String driver = props.getProperty("driver");
      String username = props.getProperty("username");
      String password = props.getProperty("password");
        //如果url为MySQL的,执行MySQL的建表语句..
      if (url.equals("jdbc:mysql://localhost:3306/jpetstore")) {
        Class.forName(driver).newInstance();
        Connection conn = DriverManager.getConnection(url, username, password);
        try {
          ScriptRunner runner = new ScriptRunner(conn, false, false);
          runner.setErrorLogWriter(null);
          runner.setLogWriter(null);
          runner.runScript(Resources.getResourceAsReader("ddl/jpetstore-mysql-schema.sql"));//建表
          runner.runScript(Resources.getResourceAsReader("ddl/jpetstore-mysql-dataload.sql"));//输入实验数据
          runner.runScript(Resources.getResourceAsReader("ddl/jpetstore-mysql-create-user.sql"));//权限
        } finally {
          conn.close();
        }
      }
    } catch (Exception e) {
      throw new RuntimeException("Description.  Cause: " + e, e);
    }

  }

----------------END-----------------
仔细研究下ddl会发现,没有建database的语句,可是程序又在使用。这个原因很简单:一个项目建好后,数据源database一般不需要改动,可是建表语句和初始化数据的语句确是要经常改动的。自然为了方便管理,建database的ddl语句也应该保存下来。

--------------------------------------
做完上面三步,src目录下的文件就算是全了。当然有个小bug,修改item.xml文件相应的信息为:
   I.ITEMID AS itemId,
      LISTPRICE AS listPrice,
      UNITCOST AS unitCost,
 原因:1、表的字段查询结果没有使用别名。
    2、多表查询,没有指定表的名字。
============================================================================================================
step4:
 复制解压包web下所有的文件到新建的项目jpetstore5.0的WebRoot下,覆盖该包下所有的文件
============================================================================================================
step5:
 删除lib下无用的jar包,如:hsqldb.jar
===============================================================================================================    
把项目部署到Tomcat6.0上,运行下试试,应该可以正常运行了。
===============================================================================================================
以上这些步骤都是首次运行jpetstore5.0的步骤,随着学习的深入这几个步骤还需要细致地研究下,做得并不完善。
比如第三步,如果修改的DaoConfig正确、你在做测试时对数据库的改动没有添加到相应的ddl中,每次运行jpetstore5.0都会重新建表,你以前做的操作是不存在的。第五步,使用MyEclipse6.5可以自己配置user library。你使用了自己的lib,可以删除的jar文件自然更多。
没用的东西就没必要存在,这样也方便学习。

posted on 2009-09-20 10:25 liyuanyuan 阅读(939) 评论(1)  编辑  收藏

评论

# re: 自学jpetstore5.0(一) 部署jeptstore5.0 2009-10-15 11:55 atixujie

嗯,看了那么多文章,你的jpetstore解析是最好的!谢谢  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: