在上一篇文章裏介紹了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類,其結果如下: