Spring Boot连接MySQL失败:无法加载com.mysql.jdbc.Driver驱动
解决Spring Boot连接MySQL时Hikari驱动加载失败的问题
我之前也碰到过这个一模一样的问题,大概率是MySQL驱动的配置或者依赖出问题了,给你几个排查和解决的步骤:
1. 确认MySQL驱动依赖是否正确引入
如果你的项目用的是Maven,检查pom.xml里是否包含MySQL驱动的依赖,Spring Boot官方脚手架应该会自动帮你添加,但有时候可能版本不对或者没加上:
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
如果是Gradle项目,对应的配置是:
runtimeOnly 'mysql:mysql-connector-java'
如果你的MySQL版本是8.0及以上,建议指定明确的驱动版本(比如8.0.33),避免Spring Boot默认的版本和你的数据库不兼容。
2. 修正数据库驱动类名和URL配置
这是最常见的坑:
- MySQL 5.x版本:驱动类是
com.mysql.jdbc.Driver,URL不需要时区参数 - MySQL 8.x版本:驱动类必须改成
com.mysql.cj.jdbc.Driver,而且URL必须加上时区参数(比如serverTimezone=Asia/Shanghai),否则会报错
举个MySQL 8.x的application.properties配置示例:
spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true spring.datasource.username=your_db_username spring.datasource.password=your_db_password spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver # JPA相关配置 spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
3. 刷新依赖并清理项目
有时候STS里的依赖可能没同步,右键你的项目:
- Maven项目:选择
Maven -> Update Project,勾选Force Update of Snapshots/Releases - Gradle项目:选择
Gradle -> Refresh Gradle Project
之后清理项目(Project -> Clean)再重新运行。
4. 排查依赖冲突
如果上面的步骤都没用,可能是项目里有重复的MySQL驱动依赖。用Maven命令查看依赖树:
mvn dependency:tree
如果发现多个版本的mysql-connector-java,找到冲突的依赖,在对应的<dependency>里加上<exclusions>排除掉多余的版本。
内容的提问来源于stack exchange,提问作者Tyler Durden




