java - 连接 Spring-Boot 到 MySQL

标签 java mysql spring-boot

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

ERROR 27341 --- [ main] com.zaxxer.hikari.pool.HikariPool
: HikariPool-1 - Exception during pool initialization. com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. org.springframework.jdbc.support.MetaDataAccessException: Could not get Connection for extracting meta-data; nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. at 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);
    }
}

最佳答案

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

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

关于java - 连接 Spring-Boot 到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54895927/

相关文章:

mysql - SQL 子查询连接

java - 使用Spring Boot的Kotlin Gradle构建不会将jar发布到Artifactory-仅构建信息

java - 无法在 spring boot 应用程序中启用 native 内存跟踪

java - 如何在服务器上部署/上传 JSP 文件

java - 具有动态测试数量的 JUnit 测试

mysql - 使用 where 条件过滤 View

php - 从我的 pdo 调用创建正确的数据结构

java - Spring Boot 中的 Google 日历 API

java - Android:并发后台作业的设计(Service、IntentService 还是 AsyncTask?)

java - 在 Java 中获取 xhtml 文档的 DOM