これはコンソールに表示される警告です。この警告と混同されます
クラスcom.mysql.jdbc.Driver'. This is deprecated. The new driver class is
com.mysql.cj.jdbc.Driver 'をロードしています。ドライバーはSPIを介して自動的に登録され、ドライバークラスの手動ロードは通常不要です。
application.properties
を変更してこの問題を解決しました
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
に
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
お役に立てば幸いです
Hibernateを使用している場合、「hibernate.cfg.xml」で次を変更します。
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
に:
<property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
それはすべきです:)
これは、接続するmysqlのバージョンがmysqlドライバーのバージョンよりも低いためです。多くの人は、com.mysql.jdbc.Driverがcom.mysql.cj.jdbc.Driverに変更されたと言いますが、これは問題を解決しませんが、注意を引く必要があります。
ORM構成ファイルのドライバープロパティを次から変更します。
<property name="driver" value="com.mysql.jdbc.Driver"/>
に
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
これで警告が解決します:-)
Connector/J APIの変更 "MySQL Connector/JでJava.sql.Driverを実装するクラスの名前は、com.mysql.jdbcから変更されました.Drivertocom.mysql.cj.jdbc.Driver。古いクラス名は廃止されました。」
つまり、ドライバーの名前を変更するだけで済みます。
Class.forName("com.mysql.jdbc.Driver");
に
Class.forName("com.mysql.cj.jdbc.Driver");
application.confファイルを以下のように変更しました。問題を解決しました。
変更前:
slick {
dbs {
default {
profile = "slick.jdbc.MySQLProfile$"
db {
driver = "com.mysql.jdbc.Driver"
url = "jdbc:mysql://localhost:3306/test"
user = "root"
password = "root"
}
}
}
}
変更後:
slick {
dbs {
default {
profile = "slick.jdbc.MySQLProfile$"
db {
driver = "com.mysql.cj.jdbc.Driver"
url = "jdbc:mysql://localhost:3306/test"
user = "root"
password = "root"
}
}
}
}
バージョン5.1から8.0に移行するConnector/J APIには重要な変更があります。使用しているバージョンが5.1を超える場合は、API呼び出しを適宜調整する必要があります。
詳細については、次のリンクでMySQLにアクセスしてください https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-api-changes.html
私の経験では。 Webでjspを使用していました。そのとき、mysql 5とmysql connecter jar 8を使用します。したがって、バージョンの問題のために、この種の問題に直面しています。 mysqlコネクタjarファイルを正確なバージョンmysqlに置き換えることで解決します。
作業例:
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/your_db_name?autoReconnect=true&useSSL=false", "root", "root");
このように呼び出すと動作します。
私の場合、「Class.forName( "com.mysql.jdbc.Driver");」という行がありました。 .Driver」はそれを削除します、それ以上は必要ありません
// The newInstance() call is a work around for some
// broken Java implementations
Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
ドライバー名を「com.mysql.jdbc.Driver」から「com.mysql.cj.jdbc.Driver」に変更すると、この問題は解決します。
単純なJDBC接続の場合:Class.forName("com.mysql.cj.jdbc.Driver");
休止状態の場合:<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
私のソリューション:org.springframework.boot 2.0.5.RELEASE
むしろ:org.springframework.boot 2.1.0.RELEASE