在上一篇文章里介绍了JPetStore Demo示例的开发调试方面的改进,本文接着介绍数据库连接方面。该工程最初版本使用了HyperSQL数据库。它是一种小型、快速的多线程和事务数据库引擎,并支持嵌入式和服务器模式。若支持MySQL类型数据库,在工程中需要修改两处。
首先,修改applicationContext.xml文件,注掉hsqldb dataSource并添加mysql dataSource,其具体内容如下: <!-- in-memory database and a datasource --> <!-- <jdbc:embedded-database id="dataSource"> <jdbc:script location="classpath:database/jpetstore-hsqldb-schema.sql"/> <jdbc:script location="classpath:database/jpetstore-hsqldb-dataload.sql"/> </jdbc:embedded-database> --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost/jpetstore?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true"/> <property name="username" value="j2ee"/> <property name="password" value="mypassword"/> <property name="maxActive" value="100"/> <property name="maxWait" value="1000"/> <property name="poolPreparedStatements" value="true"/> <property name="defaultAutoCommit" value="true"/> </bean> 其次,需要手动创建上述的mysql数据库连接用户并授权,接着用src/main/resources/database下的sql语句去创建数据库表和初始化数据。在Eclipse环境里,运行PetStoreJettyServer类,其结果如下: