1、灾难来源
作为刚刚出来实习的小白,这周师傅让复习一下SpringBoot,并结合Spring Data Jpa和MyBatis,同时也熟悉一下IDEA这个IDE。
打开IDEA随手就创建出一个SpringBoot项目,SpringBoot版本是2.1.1(有听说过SpringBoot2.0之后改变了很多东西,但是由于之前有使用过SpringBoot2.0,所以也没在意这个版本。),之后集成了JPA和MyBatis并配置了数据源,之后启动项目就发生了“灾难”。
2、灾难现场
项目启动时一直报数据库连接不上问题:
java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
起初以为是MySql没有启动或者用户名密码出现错误,到后面排查MySQL是可以正常连接使用的。后来在百度上发现MySql驱动8版本跟之前的版本是不兼容的,然后去看了一下还真是…
3、灾难解决
3.1、解决方法1
最简单的方法是调低SpringBoot版本,2.0.*使用的MySQL驱动版本是5.*的版本,可以使用以前的配置。(或者更低版本)
3.2、解决方法2
1.旧版本的数据库驱动名称是:com.mysql.jdbc.Driver,需要改成:com.mysql.cj.jdbc.Driver
2.由于数据库和系统时区差异所造成的,需要修改spring.datasource.url的配置,在URL后台添加参数
?zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=GMT
3.3、解决方法3
指定MySQL版本为5+版本