【坑】mysql 8.0以后的驱动 jar、连接池的变化
前言
博主公司刚配置了新电脑,安装开发环境的时候,美滋滋的将开发工具都装了新版本,结果在使用 mysql
的时候,发现一直链接数据库失败;
大家都知道需要导入 com.mysql.jdbc.Driver
的驱动包;
但是假如你第一次使用高版本的 mysql
你会发现,你就会跟博主一样,始终连接不到数据库,总是提示连接失败;
com.mysql.cj.jdbc.Driver
mysql 8.0
以后,java
的驱动包发生了变化,从 com.mysql.jdbc.Driver
变为 com.mysql.cj.jdbc.Driver
配置如下:
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:///cms?charset=utf-8&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true"/>
<property name="username" value="****"/>
<property name="password" value="****"/>
重点关注 url 的配置:
<property name="url" value="jdbc:mysql:///cms?charset=utf-8&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true"/>
里面配置了一个时区,com.mysql.cj.jdbc.Driver
需要这个时区 ;
还有一个连接池的问题,也配置了进去,否则会报 ${jdbc.driver}Cannot create PoolableConnectionFactory (Public Key Retrieval is not allowed)]
错误;
后记
没事还是不要使用新版本,除非你真的看过官网的介绍 ,有点小坑;