导航
导航
文章目录
  1. 一、起因
  2. 二、区别
  • 总结
  • 关于JDBC中的Mysql 6.x驱动所遇到的坑

    一、起因

    最近看到maven仓库里面mysql的JDBC驱动都是6.x了,所以想更新一波,本以为使用方式跟以前是差不多的,没想到还是遇到了几个坑呀。所以写点东西权当记录.

    二、区别

    首先的区别就是在JDBC连接的URL上面的区别,之前的写法是这样的

    1
    jdbc:mysql://127.0.0.1:30002/smssvr?useUnicode=true&characterEncoding=utf8

    如果使用原的写法,你会发现启动项目的时候会报错,说是要添加什么时区。然后就变成这样的写法

    1
    jdbc:mysql://127.0.0.1:30002/smssvr?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8

    这里多了个serverTimezone的参数,我google了一些貌似这个是新版驱动必须要添加的参数
    然而添加了这个参数还没完,这里的时区是UTC我们要改成我们自己的时区,不然就会出现大大的时差,8个小时吧。中国的时区为Asia/Chongqing,这里重庆也好上海也罢只要是中国的时区问题就不会太大。

    在一个区别就是driverClass的区别,以前我们是这样写的

    1
    com.mysql.jdbc.Driver

    启动项目的时候你会发现,在控制台,会提示你这个驱动已经过时了,所以这里要换成这样的写法

    1
    com.mysql.cj.jdbc.Driver

    总结

    遇到问题,别慌,先去百度看看,百度不了,还有google,总有人比你先遇到问题,所以总会有解决方案的.该吃吃该喝喝.

    支持一下
    扫一扫,请我吃颗大白兔奶糖
    • 支付宝扫一扫