我有一个应用程序,我正在使用Spring和Hibernate。我收到以下错误消息,即使有问题的数据库存在。
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown database 'cpc"'
这是jcbulboard-servlet.xml的相关部分
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
p:location="/WEB-INF/jdbc.properties"></bean>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource"
p:driverClassName="${jdbc.driverClassName}" p:url="${jdbc.databaseurl}"
p:username="${jdbc.username}" p:password="${jdbc.password}">
</bean>
</beans>
这是jdbc.properties,它位于正确的位置。
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.dialect=org.hibernate.dialect.MySQLDialect
jdbc.databaseurl=jdbc:mysql://localhost/cpc"
jdbc.username=root
jdbc.password=password
这是hibernate.cfg.xml的相关部分。
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost/cpc</property>
<!-- There's more in this file, but this is all that's relevant -->
</session-factory>
</hibernate-configuration>
答案 0 :(得分:1)
这不是Spring或Hibernate问题,而是驱动程序问题。您的配置是正确的,但请确保您的连接网址是正确的。我突然发现了两件事:
答案 1 :(得分:1)
jdbc.databaseurl中的尾随双引号可能是您的问题的原因。尝试删除它。
jdbc.databaseurl=jdbc:mysql://localhost/cpc
而不是
jdbc.databaseurl=jdbc:mysql://localhost/cpc"
希望这有帮助。