com.mysql.jdbc.PreparedStatement
est une classe interne au pilote MySQL 5.x JDBC. Votre code ne doit pas l'importer. Il devrait utiliser le standard java.sql.PreparedStatement
classe à la place.
Les noms des packages ont changé dans les pilotes MySQL 8.x JDBC, et c'est ce qui a provoqué l'apparition d'erreurs de compilation dans votre code.
Solution :
-
Corrigez votre code afin qu'il n'importe aucune classe d'implémentation MySQL. Utilisez le
java.sql.*
etjavax.sql.*
classe à la place. -
Modifiez les dépendances de votre projet afin que le JAR du pilote MySQL ne soit pas une dépendance au moment de la compilation. Faire cela causera tout accidentel les dépendances du code source sur les pilotes JDBC doivent être signalées comme des erreurs de compilation. Cela empêchera également votre IDE de faire des suggestions incorrectes pour
import
déclarations. (Je suppose que c'est ainsi que la fausse importation est entrée dans votre base de code.) -
Si votre code utilise (encore)
Class.forName
pour charger le pilote JDBC, modifiez-le pour utiliserjava.sql.DriverManager
Au lieu; voir javadoc . De cette façon, vous ne serez pas brûlé par un autre changement dans le nom de la classe du pilote MySQL.