spring jdbc连接池异常

spring jdbc连接池异常

这几天在写项目的时候遇到了一些问题,在这里记录一下。我们写项目用的是mysql项目开始的时候我是在本地创建了一个库就开始写,过了几天之后在华为云上买了一个云数据库,我就把我本地的库访问地址改成新的云库。然后启动项目报错连接不上库,我就吓一跳然后就去搜查,后来发现是jdbc的驱动版本太低了。

原本使用的jdbc的驱动是mysql5的,使用的方式是这样的,如下:

// An highlighted block
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://${maven.jdbc.host}:${maven.jdbc.port}/${maven.jdbc.db}?useUnicode=true&characterEncoding=UTF-8
jdbc.username=${maven.jdbc.username}
jdbc.password=${maven.jdbc.password}
jdbc.max_total=100
jdbc.max_idle=10

这里使用的是com.mysql.jdbc.Driver,当这种情况去访问华为云的数据库我这里提示访问不到,需要改变一下
jdbc.driver=com.mysql.jdbc.Driver 更改为 jdbc.driver=com.mysql.cj.jdbc.Driver 如下:

// An highlighted block
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://${maven.jdbc.host}:${maven.jdbc.port}/${maven.jdbc.db}?useUnicode=true&characterEncoding=UTF-8
jdbc.username=${maven.jdbc.username}
jdbc.password=${maven.jdbc.password}
jdbc.max_total=100
jdbc.max_idle=10

但是我这样改完之后再次启动他会报我mysql-connector-javajar包的错,版本不匹配。因为jdbc.driver=com.mysql.jdbc.Driver 是mysql5的写法,现在我给改成 jdbc.driver=com.mysql.cj.jdbc.Driver的样子了,这样的写法是mysql6的,所以就会有问题,需要提高版本,我原来用的mysql-connector-java的版本是5.1.35的 如下:

// An highlighted block
 <!-- MySQL -->
 <dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <version>5.1.35</version>
     <scope>runtime</scope>
 </dependency>

后台我给改成8.0.15的版本了就可以了,如下:

// An highlighted block
 <!-- MySQL -->
 <dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <version>8.0.15</version>
     <scope>runtime</scope>
 </dependency>

改成这样之后我的项目就可以正常访问数据了
另外如果将mysql-connector-java的版本提高到了6以上,但是你的jdbc访问驱动还是jdbc.driver=com.mysql.jdbc.Driver的话就会出现异常,如下类似这样的异常信息:

// An highlighted block
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'.
The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

此时需要把com.mysql.jdbc.Driver 改为com.mysql.cj.jdbc.Driver 即可.

如果有疑问的话可以在下面评论我会经常看的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值