无法连接Spring Boot和MySQL



我创建了一个名为:books_management_system的db,然后使用spring book app应该生成具有四列的表,但是我无法将MySQL与spring Boot app连接,这里是应用程序。属性文件和pom.xml,我认为xml文件是可以的但问题可能是在app.properties文件,请给我帮助

spring.datasource.url=jdbc:mysql://localhost:3306/books_management_system
spring.datasource.username=root
spring.datasource.password=ivana12345
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.database-platform = org.hibernate.dialect.MySQL5Dialect
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto = update
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.books</groupId>
<artifactId>springboot-books-management-system</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot-books-management-system</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>16</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

在您的新帖子中,现在您没有任何驱动程序类名称。我已经创建了一个运行良好的示例。——>

#database properties
spring.datasource.url=jdbc:mysql://localhost:3306/smartcontactmanager
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
spring.jpa.hibernate.ddl-auto=update

我使用的mysql版本是8.0.21

使用

spring.database.driverClassName= com.mysql.jdbc.Driver

不是

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

还有add这个dependency

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.14</version>
</dependency>

不是

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>

我建议您首先声明MySQL依赖的版本。这是因为驱动程序包的名称会根据版本而变化。在8.0.14之后,包的名称变为com.mysql.cj.jdbc.Driver下面是com.mysql.jdbc.Driver。所以在你的诗里你应该加上版本。因为版本可能不是来自父版本。而且为了安全起见,请尝试在所有依赖项中添加版本。

最新更新