尝试运行在线项目时出现CannotGetJDBCConnectionException

时间:2019-04-16 17:56:59

标签: java mysql spring jdbc

我已经从以下网站下载了该项目: https://examples.javacodegeeks.com/enterprise-java/spring/jdbc/spring-jdbctemplate-example/ 并且正在使用Eclipse EE,并在Mac计算机上安装了mysql。但是,当我尝试运行App.java时,出现以下错误消息,并且不知道为什么。

Exception in thread "main" 
org.springframework.jdbc.CannotGetJdbcConnectionException: Could 
not get JDBC Connection; nested exception is java.sql.SQLException: 
Access denied for user 'root'@'localhost' (using password: YES) at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(Data 
SourceUtils.java:80)

我对此很陌生,不确定是否需要安装任何其他组件或是否必须进行一些配置。如何解决此异常,以便代码运行?

2 个答案:

答案 0 :(得分:1)

确保您的MySql服务器首先运行,并且您提供了正确的凭据以连接到数据库服务器。看一下数据源的XML bean配置:

    <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">

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

请确保Driver-Class,用户名和密码的值适用于您的数据库。如果您使用的是maria-db数据库服务器,则需要为其提供驱动程序类,而不是标准的MySql,我认为并非如此。

答案 1 :(得分:0)

您需要根据您的mysql版本添加mysql-connector的依赖关系。

<!-- MySQL Driver -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.11</version>
        </dependency>

使用此连接URL解决与MySQL建立连接时的问题

  <property name="url" value="jdbc:mysql://localhost:3306/Your_DBName?useSSL=false" />