關於使用mysql 8版本以上的朋友 肯定會遇到這些問題 !
連接時區問題
自動創建表問題
什麼主鍵問題
等等等等
這遍文章都可以給你解決掉
8版本的驅動,棄用了原來的方法,我們直接去看源碼也能找到。
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'
The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
改用新的驅動程序類是`com.mysql.cj.jdbc.Driver’
還有一個url的問題
characterEncoding=utf8 (字符編碼)
useSSL=false (發現是8版本開始才需要添加,5.X印象中不需要,添加這個參數可能和MySQL的SSL連接設置有關係)
serverTimezone=UTC (當連接數據庫時候,出現Time Zone錯誤時添加此參數,我貌似是使用Druid連接池時纔出現的這個問題)
allowPublicKeyRetrieval=true (使用root賬戶登陸沒問題,使用普通賬戶會提示Public Key Retrieval錯誤)
nullCatalogMeansCurrent=true (自動創建更新數據庫表)
用這個 包治百病
url: jdbc:mysql://localhost:3306/ajyl_medical_model?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true