com.mysql.jdbc.PreparedStatement
é uma classe interna do driver MySQL 5.x JDBC. Seu código não deve importá-lo. Deve estar usando o padrão java.sql.PreparedStatement
classe em vez disso. Os nomes dos pacotes mudaram nos drivers MySQL 8.x JDBC, e foi isso que fez com que seu código começasse a dar erros de compilação.
Solução:
-
Corrija seu código para que ele não importe nenhuma classe de implementação do MySQL. Use ojava.sql.*
ejavax.sql.*
classe em vez disso.
-
Altere as dependências do projeto para que o JAR do driver MySQL não seja uma dependência de tempo de compilação. Fazer isso causará qualquer acidental dependências de código-fonte em drivers JDBC a serem sinalizadas como erros de compilação. Isso também impedirá que seu IDE faça sugestões incorretas paraimport
declarações. (Meu palpite é que foi assim que a importação falsa entrou em sua base de código.)
-
Se o seu código (ainda) estiver usandoClass.forName
para carregar o driver JDBC, altere-o para usarjava.sql.DriverManager
em vez de; consulte javadoc . Dessa forma, você não será queimado por outra alteração no nome da classe do driver MySQL.