Ceci est l'avertissement im obtenir dans la console, je suis confondu avec cet avertissement
Chargement de la classe com.mysql.jdbc.Driver'. This is deprecated. The new driver class is
com.mysql.cj.jdbc.Driver '. Le pilote est automatiquement enregistré via le SPI et le chargement manuel de la classe de pilotes est généralement inutile.
J'ai résolu ce problème en changeant application.properties
de
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
à
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
J'espère que ça aide
Si vous utilisez Hibernate, modifiez votre fichier "hibernate.cfg.xml" comme suit:
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
À:
<property name="hibernate.connection.driver_class">com.mysql.cj.jdbc.Driver</property>
Cela devrait faire :)
Ceci est dû au fait que la version de mysql à connecter est plus basse que la version du pilote mysql. Beaucoup de gens disent que com.mysql.jdbc.Driver est remplacé par com.mysql.cj.jdbc.Driver, bien que cela ne résolve pas le problème, mais cela devrait également attirer l'attention.
Changer la propriété du pilote dans votre fichier de configuration ORM à partir de
<property name="driver" value="com.mysql.jdbc.Driver"/>
à
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
Cela résoudra l'avertissement :-)
Selon Modifications dans l'API Connector/J "Le nom de la classe qui implémente Java.sql.Driver dans MySQL Connector/J a changé de com.mysql.jdbc. .Driver à com.mysql.cj.jdbc.Driver . L'ancien nom de la classe est obsolète. "
Cela signifie qu'il vous suffit de changer le nom du pilote:
Class.forName("com.mysql.jdbc.Driver");
à
Class.forName("com.mysql.cj.jdbc.Driver");
Changé mon fichier application.conf comme ci-dessous. Cela a résolu le problème.
avant changement:
slick {
dbs {
default {
profile = "slick.jdbc.MySQLProfile$"
db {
driver = "com.mysql.jdbc.Driver"
url = "jdbc:mysql://localhost:3306/test"
user = "root"
password = "root"
}
}
}
}
après changement:
slick {
dbs {
default {
profile = "slick.jdbc.MySQLProfile$"
db {
driver = "com.mysql.cj.jdbc.Driver"
url = "jdbc:mysql://localhost:3306/test"
user = "root"
password = "root"
}
}
}
}
Des modifications importantes ont été apportées à l’API Connector/J de la version 5.1 à la version 8.0. Vous devrez peut-être ajuster vos appels d'API en conséquence si la version que vous utilisez dépasse la version 5.1.
veuillez visiter MySQL sur le lien suivant pour plus d'informations https://dev.mysql.com/doc/connector-j/8.0/fr/connector-j-api-changes.html
dans mon expérience. J'utilisais jsp pour le web. A cette époque, j'utilise mysql 5 et mysql connect jar 8. Donc, à cause du problème de version, je suis confronté à ce genre de problème. Je résous en remplaçant le fichier jar du connecteur mysql par la version exacte mysql.
exemple de travail:
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/your_db_name?autoReconnect=true&useSSL=false", "root", "root");
appeler comme ça ça va marcher.
dans mon cas, j'avais une ligne Class.forName ("com.mysql.jdbc.Driver");); après avoir supprimé ce code de ligne fonctionne bien si vous avez une ligne à charger "com.mysql.jdbc .Driver "supprimez-le, il n'en a plus besoin
// The newInstance() call is a work around for some
// broken Java implementations
Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
En modifiant le nom du pilote de "com.mysql.jdbc.Driver" en "com.mysql.cj.jdbc.Driver", le problème sera résolu.
En cas de connexion JDBC simple: Class.forName("com.mysql.cj.jdbc.Driver");
En cas d'hibernation: <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
ma solution: org.springframework.boot 2.0.5.RELEASE
Plutôt: org.springframework.boot 2.1.0.RELEASE