Mybatis報錯Cannot find class: com.mysql.cj.jdbc.Driver排查踩坑記錄


初次學習mybatis,寫了一個最簡單的demo,然而運行報錯:
java.sql.SQLException: Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException: Cannot find class: com.mysql.cj.jdbc.Driver

判斷問題出在driver驅動上,根據網上常見解決辦法依次排查(我的MySQL版本是8):

step 1.檢查maven依賴,好像沒問題,很多人就是把mysql-connector-java版本從5升到8就好了:

<dependencies>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.6</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.17</version>
        </dependency>
</dependencies>

step 2.檢查mybatis配置文件:嘗試在url "jdbc:mysql:///study?serverTimezone=UTC"中添加參數“&useSSL=false”,仍然報錯。

<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql:///study?serverTimezone=UTC"/>
                <property name="username" value="root"/>
                <property name="password" value="123"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="UserMapper.xml"/>
    </mappers>
</configuration>

step 3.偶然在maven倉庫發現mysql-connector-java有更新版本,決定一試,把version 8.0.17換為8.0.23

替換后果然運行成功,看來問題還是在step 1,如果你也試了各種辦法無解,可以再關注下是不是mysql-connector-java版本的問題。

<dependencies>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.6</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.23</version>
        </dependency>
</dependencies>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM