MyBatisを導入した際にLoading class com.mysql.jdbc.Driver...で怒られたので対応した。

JavaMyBatisSpring BootORM

はじめに

現在、Kotlinサーバーサイドプログラミング実践開発を読んでいます。 第5章 O/Rマッパーを使用してデータベースへ接続するのハンズオンを実施している際に、以下のようなエラーに出会いました。

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.

書籍の指示に従って対応していましたが、上のように利用するドライバーが非推奨でした。 このエラーに対する対応内容を記載していきます。

修正対象

MyBatisを使用したデータベースアクセスによるCRUD操作においては、設定ファイルmybatis-config.xmlに対して設定内容を記載する必要があります。

設定ファイルmybatis-config.xmlについて

書籍内において設定ファイルmybatis-config.xmlは以下のようになっています。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd" >
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/example"/>
                <property name="username" value="root"/>
                <property name="password" value="mysql"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper class="database.UserMapper"/>
    </mappers>
</configuration>

エラーは上の設定ファイル内の<property name="driver" value="com.mysql.jdbc.Driver"/>の部分に対して発生しています。 om.mysql.jdbc.Driverが非推奨となっています。

修正内容

前節の通り、非推奨となっているドライバーを変更する必要があります。 そのため、以下のようにドライバーをcom.mysql.cj.jdbc.Driverに指定します。

<property name="driver" value="com.mysql.cj.jdbc.Driver"/>

さいごに

この修正により正常に動作するようになりました。 今回も備忘のための投稿となりますので、淡白な内容となりますがどこかの方のお役に立てれば嬉しいです。