Pour un projet je dois créer une application avec une BDD et je dois utiliser le pattern Singleton.
J'ai bien crée ma classe Singleton (ici DatabaseConnection.java) et je tente de faire une requête SQL dans une autre classe (Landing.java).
Mais je ne comprend pas pourquoi lors de l'execution du programme J'ai cette erreur : "The method createStatement() is undefined for the type DatabaseConnection"
Classe DatabaseConnection :
package Interface;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class DatabaseConnection {
private static DatabaseConnection instance;
private Connection connection;
private String url = "jdbc:mysql://localhost:3306/mydb?";
private String username = "root";
private String password = "";
//Constructeur privé
private DatabaseConnection() throws SQLException{
try {
Class.forName("com.mysql.cj.jdbc.Driver");
this.connection = DriverManager.getConnection(url,username,password);
}catch(Exception e) {
e.printStackTrace();
System.out.println("Impossible de se connecter a la base: "+e.getMessage());
}
}
public Connection getConnection() {
return connection;
}
//Point d'accès UNIQUE Singleton
public static DatabaseConnection getInstance() throws SQLException
{
//Si non existante -> création instance
if(instance == null) {
instance = new DatabaseConnection();
}else if (instance.getConnection().isClosed()) {
instance = new DatabaseConnection();
}return instance;
}
}
d'après le message d'erreur il manque une méthode createStatement dans la classe DatabaseConnection. Ou tu peux changer le code dans la classe Landing:
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.