大家好,這里是睿智的倉鼠,
注意,這篇文章限于基礎的入門操作,沒有使用Maven管理,
報錯資訊
先來看錯誤資訊:
警告: Cannot resolve com.mysq.jdbc.Connection.ping method. Will use 'SELECT 1' instead.
java.lang.NullPointerException
連接池的getConnection()方法報錯,錯誤型別是空指標例外,
解決方法
解決這個問題的方法是,檢查你的druid版本與mysql-connector資料庫驅動版本是否兼容,
出現這個問題時,我使用的版本是:
- IDEA 2021.2
- druid-1.0.9
- mysql-connector-java-8.0.26
進入Druid的Maven倉庫查看兼容資訊:
倉庫地址:https://mvnrepository.com/artifact/com.alibaba/druid
我的Druid版本是1.0.9,在Maven倉庫中我找到了1.1.0的版本,它是2017年的產物,也非常古老了,

找到你當前的版本,點擊進入,下拉查看依賴情況,
其中,version 是編譯時依賴項的版本號,updates 是依賴項的最新版本號,
專案中推薦使用version列所給的版本號,如果使用最新的依賴項,可能會產生兼容性問題,

可以看到,1.1.0的版本,當時的MySQL驅動版本只是5.1.39,這已經說明問題了,
經過查證,在mysql-connector5.1.49之前,不存在cj包,在mysql-connector6及以后的版本就有了,
所以,在mysql-connector5.1.49之前編譯的Druid,不支持mysql-connector6之后的版本,
可見,這個錯誤是由于Druid的版本過低導致的,重新下載更高版本的Druid jar包,配置進專案即可,嘗試更換druid-1.1.22,順利解決報錯,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/297436.html
標籤:其他
