COURS : Connexion à une base de données MySQL avec Java (JDBC)
1. Structure générale du projet
- [Link] : classe utilitaire pour gérer les connexions et requêtes SQL (Singleton).
- [Link] : ajoute une nouvelle filière.
- [Link] : ajoute une nouvelle classe liée à une filière.
2. Connexion à la base de données ([Link])
Objectif : Créer une seule instance pour gérer la connexion (Singleton).
Code clé :
private static DatabaseHelper db;
private static Connection cnx;
public static DatabaseHelper getInstance() {
if (db == null) db = new DatabaseHelper();
return db;
Connexion :
[Link]("[Link]");
cnx = [Link]("jdbc:mysql://localhost:3306/scolarite", "root", "");
3. Préparation et exécution des requêtes
a. Préparer une requête SQL :
public void prepareQuery(String sql) {
pstmt = [Link](sql);
}
b. Ajouter les paramètres dynamiques :
public void addParameters(Object[] parameters) {
for (int i = 0; i < [Link]; i++) {
[Link](i + 1, parameters[i]);
c. Exécuter une requête SELECT :
public ResultSet executeSelect() {
return [Link]();
d. Exécuter une requête de mise à jour :
public int executeMaj() {
return [Link]();
4. Utilisation dans [Link] : Ajouter une filière
Objectif :
- Saisir nom et libellé d'une filière
- Insérer dans la base de données
- Afficher toutes les filières existantes
5. Utilisation dans [Link] : Ajouter une classe
Étapes :
1. Saisie des données
2. Sélection d'une filière existante
3. Insertion d'une nouvelle classe
4. Affichage de toutes les classes
6. Bonnes pratiques
- Utiliser try/catch pour gérer les erreurs SQL.
- Fermer les ResultSet après usage.
- Utiliser DatabaseHelper pour éviter la duplication de code.
7. Concepts appris
- JDBC : API Java pour bases de données
- Singleton : une seule instance
- PreparedStatement : sécurisation des requêtes
- ResultSet : résultats de requête SELECT