Failed to load driver class com.mysql.cj.jdbc.Driver from-----(springBoot连接mysql出现的各种问题)

14 篇文章 0 订阅
10 篇文章 0 订阅

背景

自己在写点代码的时候之前pom文件的内容都是从前一个项目中复制的,并没有认真分析一下各种依赖的关系,有时候重复的问题会出现好多次,比如说连接数据库报错,有时候配置没有问题,可能是依赖的jar包的问题,有时候jar包依赖的正确可能是配置的问题。

明确项目环境以及我们的需求

  1. 首先我们需要明确的知道我们使用的mysql数据库的版本,是mysql5系列版本还是比较新的mysql8系列版本这个关系到我们引入的jar包,以及具体的配置
  2. 其次我们需要知道我们所用的springboot的版本,不同springboot版本默认使用的mysql连接驱动是不同的

在这里插入图片描述
在这里插入图片描述
如果没有指定具体的version:

springboot2.1之前的版本默认使用的是5.1.46的连接驱动

springboot2.1之后的版本默认使用的是8.0.18的连接驱动

mysql5连接方法

如果数据库为mysql5,那么连接驱动最好用5系列的驱动,version版本可以手动定义为5.1.46
application配置文件:

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

mysql8连接方式

如果数据库为mysql8,那么连接驱动最好用8系列的驱动,version版本可以手动定义为8.0.18
application配置文件:

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/fire?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

需要注意
不同版本配置文件:spring.datasource.driver-class-name和spring.datasource.url是不同的

扩展(加上两个数据库连接池的配置)

HikariCP数据库连接池,(HikariCP号称性能最出色的数据库连接池。)

## 数据库配置
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/ssm?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username = root
spring.datasource.password = root
##  Hikari 连接池配置 ------ 详细配置请访问:https://github.com/brettwooldridge/HikariCP
## 最小空闲连接数量
spring.datasource.hikari.minimum-idle=5
## 空闲连接存活最大时间,默认600000(10分钟)
spring.datasource.hikari.idle-timeout=180000
## 连接池最大连接数,默认是10
spring.datasource.hikari.maximum-pool-size=10
## 此属性控制从池返回的连接的默认自动提交行为,默认值:true
spring.datasource.hikari.auto-commit=true
## 连接池母子
spring.datasource.hikari.pool-name=MyHikariCP
## 此属性控制池中连接的最长生命周期,值0表示无限生命周期,默认1800000即30分钟
spring.datasource.hikari.max-lifetime=1800000
## 数据库连接超时时间,默认30秒,即30000
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=SELECT 1

dirudi数据库连接池

#配置dirudi数据库连接池
spring.druid.driverClassName=com.mysql.cj.jdbc.Driver
spring.druid.url=jdbc:mysql://localhost:3306/houses?characterEncoding=UTF-8&serverTimezone=UTC
spring.druid.username=root
spring.druid.password=
#最大连接数
spring.druid.maxActive=30
#最小连接数
spring.druid.minIdle=5
#获取最大的链接等待时间
spring.druid.maxWait=10000
#解决mysql8小时的问题,验证时候正常
spring.druid.validationgQuery=SELECT 'x'
#空闲连接检查间隔
spring.druid.timeBetweenEvictionRunMillis=60000
#空闲连接最小空闲时间
spring.druid.minEvictableIdleTimeMillis=300000
  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值