当使用框架访问数据库时出现下列错误 server time zone value '?????' is unrecognized or represents more than one time

当使用框架访问数据库时出现下列错误
… server time zone value ‘???’ is unrecognized or represents more than one time …
或者
…BigInteger can’t … 之类的错误
请优先考虑 JDBC 的MySQL 驱动包版本问题!

如果你用的mysql版本是8.0

1.驱动名字改了,以往版本的是"com.mysql.jdbc.Driver",8.0版本的是"com.mysql.cj.jdbc.Driver"。
2.获得连接时,url的内容需要修改,以往的版本的是"jdbc:mysql://localhost/<数据库名>",8.0版本的是"jdbc:mysql://localhost/<数据库名>?useSSL = false&serverTimezone = UTC&"。


高版本会出现返回一个+8小时时差的时间,如果在JDBC的url后面加上

 serverTimezone=GMT

即可解决问题,如果需要使用gmt+8时区,需要写成

GMT%2B8

还要注意一点,如果使在.xml文件中,要用&amp转义&,否则会被识别为一个特殊的字符

这里其实是因为xml把&作为一个特殊符号处理了(我选择再次死亡(╬▔皿▔)凸),所以我们需要把&替换为&这样就不会报错了。

低版本会产生Biginteger转换的问题

推荐一个神奇的版本:5.1.46

到目前为止帮我解决了2个框架链接数据库的问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值