最近將mysql版本升級到8.0.12進行了增刪改查操作遇到的一些坑:
mysql
1.mysql 8+版本的jdbc驅動改為 com.mysql.cj.jdbc.Driver
2.mysql之前的jdbc驅動是com.mysql.jdbc.Driver
2.jdbc url中需要添加幾個參數,大多數博客給的教程都是 useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC這幾個參數,配置結果為: jdbc:
mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
UTC比北京時間早8小時
但是可能會出現插入時間和mysql存的時間相差8個小時的情況,遇到這種問題不要慌,下面提供了我解決這個問題的步驟.
第一種:mysql,輸入select now();來查看mysql時間,如果時間和你本地當前時間一致,說明mysql的時間沒有問題,問題就出現在java時間上,將jdbc url參數修改成serverTimezone=Asia/Shanghai試試.
第二種:如果查詢mysql時間和本地不一致,使用以下兩條語句設置mysql時區
show variables like '%time_zone%';//查詢當前時區
set global time_zone='+8:00';//在標准時區上加+8小時,即東8區時間
flush privileges; 刷新權限