【问题标题】:connection Spring-Boot to MySQL将 Spring-Boot 连接到 MySQL
【发布时间】:2019-07-20 14:40:36
【问题描述】:

我是使用 Spring Boot 的新手,将它连接到 MySQL 数据库时出错,我已经阅读了所有教程,但仍然没有发现问题。

错误 27341 --- [主] com.zaxxer.hikari.pool.HikariPool
: HikariPool-1 - 池初始化期间出现异常。 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: 无法创建与数据库服务器的连接。 org.springframework.jdbc.support.MetaDataAccessException:不能 获取用于提取元数据的连接;嵌套异常是 org.springframework.jdbc.CannotGetJdbcConnectionException: 失败 获取 JDBC 连接;嵌套异常是 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: 无法创建与数据库服务器的连接。在 org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:328) ~[spring-jdbc-5.1.5.RELEASE.jar:5.1.5.RELEASE]

application.properties

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://127.0.0.1:3306/db_predio?useSSL=false
spring.datasource.username = root
spring.datasource.password = 

spring.datasource.testWhileIdle = true
spring.datasource.validationQuery = SELECT 1

spring.jpa.show-sql = true

spring.jpa.hibernate.ddl-auto = update

spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

pom.xml

    <dependencies>

        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.1.3.RELEASE</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-autoconfigure -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
            <version>2.1.3.RELEASE</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-jpa -->
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-jpa</artifactId>
            <version>2.1.5.RELEASE</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <version>2.1.3.RELEASE</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.39</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.3.3</version>
            <scope>provided</scope>
        </dependency>


    </dependencies>

    <build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>11</source>
                <target>11</target>
            </configuration>
        </plugin>
    </plugins>
    </build>
</project>

运行应用程序

@SpringBootApplication
@EntityScan("au.basicexpert.predio.entity")
@EnableJpaRepositories("au.basicexpert.predio.repository")
@ComponentScan("au.basicexpert.predio.controller")
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

【问题讨论】:

  • 0 关闭本地 MySQL 并在启用调试的情况下再次运行项目。请发布完整的日志跟踪。为什么要使用旧版本的 MySQL 连接器?除非它背后有特定的原因,否则总是要使用新版本。如果您不确定什么是最新版本,请删除该版本并让 maven 第一次管理它。
  • 嗨,柯比,现在可以使用了!我只需要关闭 MyQSL。我不敢相信这是唯一的问题,我也实现了 MyQSL 连接器。非常感谢!!
  • 很高兴它对你有用
  • 如果它适合你,请投反对票

标签: java mysql spring-boot


【解决方案1】:

关闭本地 MySQL 并在启用调试的情况下再次运行项目。请发布完整的日志跟踪。

为什么要使用旧版本的 MySQL 连接器?除非它背后有特定的原因,否则总是要使用新版本。如果您不确定什么是最新版本,请删除该版本并让 maven 第一次对其进行管理。

【讨论】:

    猜你喜欢
    • 2021-03-20
    • 2020-07-12
    • 2017-11-13
    • 2018-09-07
    • 2020-08-18
    • 2019-10-20
    • 2021-04-04
    • 2018-01-04
    • 2021-10-23
    相关资源
    最近更新 更多