乐者为王

Do one thing, and do it well.

JPetStore 4.0.5配置MySQL数据库时遇到的问题

在配置JPetStore 4.0.5时出了一点问题,写此文章记录下解决方法,以便日后查找。

按照教程配置好后运行Tomcat,在点击“Enter the Store”时出现了HTTP 500错误。从日志中的异常记录来看是没有找到MySQL的驱动程序。

1
SimpleDataSource: Error while loading properties. Cause: java.lang.ClassNotFoundException: driver

可是我已经把驱动程序包放到WEB-INF/lib目录下了呀!

查看sql-xml-config.xml文件中dataSource的属性,发现它们的值如下:

1
2
3
4
5
6
7
8
9
10
11
<transactionManager type="JDBC">
    <dataSource type="SIMPLE">
        <property value="${driver}" name="JDBC.Driver" />
        <property value="${url}" name="JDBC.ConnectionURL" />
        <property value="${username}" name="JDBC.Username" />
        <property value="${password}" name="JDBC.Password" />
        <property value="15" name="Pool.MaximumActiveConnections" />
        <property value="15" name="Pool.MaximumIdleConnections" />
        <property value="1000" name="Pool.MaximumWait" />
      </dataSource>
</transactionManager>

而在database.properties中的值分别是:

1
2
3
4
SimpleDriver=org.gjt.mm.mysql.Driver
SimpleUrl=jdbc:mysql://localhost:3306/jpetstore
SimpleUsername=jpetstore
SimplePassword=ibatis

因为dataSource中的属性值是从database.properties文件中读取的,所以要将database.properties中的属性名改成和sql-xml-config.xml中的一致。这样就不会再出现找不到驱动的异常了。改写后的database.properties内容如下:

1
2
3
4
driver=org.gjt.mm.mysql.Driver
url=jdbc:mysql://localhost:3306/jpetstore
username=jpetstore
password=ibatis

Comments