import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Database { private static final String URL = "jdbc:mariadb://dwarves.iut-fbleau.fr:3306/foulou"; private static final String LOGIN = "foulou"; private static final String PASSWORD = "foulou"; private Connection database; public Database() throws SQLException { try { // Chargement explicite du driver System.out.println("Tentative de chargement du driver MariaDB..."); Class.forName("org.mariadb.jdbc.Driver"); System.out.println("Driver MariaDB chargé avec succès."); try { // Connexion à la base de données System.out.println("Tentative de connexion à la base de données..."); this.database = DriverManager.getConnection(URL, LOGIN, PASSWORD); System.out.println("Connexion réussie !"); } catch (SQLException e) { System.err.println("Échec de la connexion à la base de données : " + e.getMessage()); throw new SQLException("Erreur de connexion : " + e.getMessage(), e); } } catch (ClassNotFoundException e) { System.err.println("Erreur : Le driver MariaDB n'a pas été trouvé dans le classpath."); throw new SQLException("Driver MariaDB introuvable dans le classpath", e); } } public Connection getDatabase() { return this.database; } public void close() { try { if (this.database != null && !this.database.isClosed()) { this.database.close(); System.out.println("Connexion fermée."); } } catch (SQLException e) { System.err.println("Erreur lors de la fermeture de la base de données : " + e.getMessage()); } } public static void main(String[] args) { try { // Crée une instance de la classe Database et teste la connexion Database db = new Database(); System.out.println("Connexion à la base de données réussie !"); // Fermer la connexion après test db.close(); } catch (SQLException e) { System.err.println("Erreur lors de la connexion : " + e.getMessage()); } } }