将 Spring-Boot 连接到 MySQL
Posted
技术标签:
【中文标题】将 Spring-Boot 连接到 MySQL【英文标题】:connection Spring-Boot to 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 连接器。非常感谢!! 很高兴它对你有用 如果它适合你,请投反对票 【参考方案1】:关闭本地 MySQL 并在启用调试的情况下再次运行项目。请发布完整的日志跟踪。
为什么要使用旧版本的 MySQL 连接器?除非它背后有特定的原因,否则总是要使用新版本。如果您不确定什么是最新版本,请删除该版本并让 maven 第一次对其进行管理。
【讨论】:
以上是关于将 Spring-Boot 连接到 MySQL的主要内容,如果未能解决你的问题,请参考以下文章
使用 spring-boot 连接到 spring-batch 和应用程序数据库
Spring-boot JPA 连接到 postgres,其中在运行时提供数据库和模式
spring-boot web 应用程序在一段时间后失去连接到 MySQL / RDS 的能力
将 Spring Boot 应用程序连接到 Google Cloud 中的 MySQL 数据库