使用Spring连接数据库时出错

时间:2011-06-29 11:59:50

标签: java mysql spring jdbc

我正在尝试运行springexample。我已按如下方式配置我的.xml文件。我使用mysql作为我的数据库,但我收到了下面提到的错误

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="dataSource" destroy-method="close" 
        class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="org.hsqldb.jdbcDriver"/>
        <property name="url" value="jdbc:hsqldb:hsql://127.0.0.1:3306"/>
        <property name="username" value="root"/>
        <property name="password" value="root"/>
    </bean>

    <bean id="forumDAO" class="com.vaannila.dao.ForumDAOImpl">
         <property name="dataSource" ref="dataSource"/>
    </bean>
</beans>

错误

修改

现在改为

<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
  

线程“main”中的异常   org.springframework.jdbc.CannotGetJdbcConnectionException:不能   获取JDBC连接;嵌套异常是   org.apache.commons.dbcp.SQLNestedException:无法创建   PoolableConnectionFactory(套接字创建错误)         在org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82)         在org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:572)         在org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:786)         在org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:842)         在org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:850)         在com.vaannila.dao.ForumDAOImpl.insertForum(ForumDAOImpl.java:29)

6 个答案:

答案 0 :(得分:1)

您的配置文件是为HSQL数据库而不是MySQL数据库设置的。 使用:

<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost/DATABASE_NAME"/>

您还应该检查您的类路径中是否有正确的JDBC驱动程序。

答案 1 :(得分:0)

仔细检查您的连接网址,尝试

  

本地主机:9001

而不是

  

127.0.0.1

...并且您没有在yr连接字符串中指定数据库

答案 2 :(得分:0)

您的网址值不正确:

<property name="url" value="jdbc:hsqldb:hsql://127.0.0.1"/>

请改用:

<property name="url" value="jdbc:mysql://127.0.0.1:3306/yourdbname"/>

答案 3 :(得分:0)

我正在使用这个bean来连接mysql及其工作:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost/test?user=root&password=root" />
    <property name="initialSize" value="2" />
    <property name="maxActive" value="5" />
</bean>

答案 4 :(得分:0)

下载 mysql-connector-java-5.1.45 放入lib,然后就可以了。

答案 5 :(得分:0)

就我而言,mysql service没有运行。检查并确保它正在运行。