web-dev-qa-db-fra.com

Message "Le chargement de la classe com.mysql.jdbc.Driver ... est obsolète"

Bonjour, pouvez-vous me l'expliquer, pourquoi est-ce au lieu d'utiliser com.mysql.jdbc.Driver J'ai une erreur

Classe de chargement com.mysql.jdbc.Driver. C'est obsolète. La nouvelle classe de pilotes est com.mysql.cj.jdbc.Driver. Le pilote est automatiquement enregistré via le SPI et le chargement manuel de la classe de pilote n'est généralement pas nécessaire.

Votre aide est tres apprecie

10
maria

Ce n'est pas une erreur; il s'agit d'un message d'avertissement (ou d'avis) résultant d'un

Class.forName("com.mysql.jdbc.Driver")

appel. Votre code continue de s'exécuter malgré le message.

Il vous indique principalement que le nom de la classe de pilote a changé en com.mysql.cj.jdbc.Driver. Donc, utilisez plutôt:

Class.forName("com.mysql.cj.jdbc.Driver")

Il vous permet également de savoir que depuis Java 6 (JDBC 4.0), il n'est généralement pas nécessaire de charger manuellement la classe de pilote à l'aide de Class.forName de toute façon, car JDBC est maintenant capable de charger le pilote correct lui-même (à condition que le pilote .jar soit disponible sur le chemin de classe).

22
Gord Thompson

J'ai eu le même problème dans mon application Spring Boot.
J'ai ajouté un nouveau paramètre à mon fichier 'application.properties':

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

Et cela a résolu mon problème.

2
Denys Dvornyi