今天在学习Spring Boot时,需要用Jpa 连接mysql数据库,踩到了好几个坑,在这里记录下
1: java.math.BigInteger cannot be cast to java.lang.Long
问题:
一开始写的驱动为:com.mysql.jdbc.Driver 连接时报 java.math.BigInteger cannot be cast to java.lang.Long
原因:
因为自己升级了mysql数据库,但依赖中德mysql-connector-java.jar 仍为旧版本的,产生不兼容
解决方案:
1. 修改项目的pom.xml 依赖如下图后,并刷新项目,会发现jar包已更新为mysql-connector-java-8,0,11.jar
2. 修改jdbc中的驱动为 com.mysql.cj.jdbc.Driver,而非原来的 com.mysql.jdbc.Driver
2:The server time zone value '???ú±ê×??±??' is unrecognized or represents more than one time zone.
问题:
在步骤1后,重新运行项目,依然报错 java.sql.SQLException: The server time zone value '???ú±ê×??±??' is unrecognized or represents more than one time zone.
原因以及解决方案:
这是在使用MySQL 8.0以上版本(MySQL连接驱动和版本都是8.0以上)的时候出现的系统问题错误,我们需要在访问数据库的Url后面加上serverTimezone=GMT%2B8,注意,serverTimeZone前面要用 &链接。我的最终url如下图
连接成功!!!