📚 Tutoriel SQL Java – Eclipse
Guide complet avec captures d'écran sur l'exécution de requêtes SQL en Java via Eclipse — CRUD complet et connexion JDBC
À propos du projet
Ce tutoriel est un guide pratique complet documentant comment connecter Java à une base de données MySQL et exécuter des requêtes SQL depuis Eclipse. Il a été rédigé dans le cadre du BTS SIO pour accompagner l'apprentissage de la connexion base de données en Java via JDBC (Java Database Connectivity).
Le document inclut des captures d'écran pas à pas couvrant l'installation du driver JDBC, la configuration du projet Eclipse, l'établissement de la connexion, et l'exécution de toutes les opérations CRUD.
Contenu du tutoriel
Configuration JDBC
Installation et ajout du driver MySQL Connector/J dans le classpath Eclipse. Configuration du projet pour la connexion à la base de données.
Connexion à la BDD
Établissement de la connexion via DriverManager.getConnection() avec URL JDBC, nom d'utilisateur et mot de passe. Gestion des exceptions SQL.
Requêtes SELECT
Lecture de données avec Statement et ResultSet. Itération sur les résultats et extraction des valeurs par nom de colonne.
Insertion de données
Utilisation de PreparedStatement pour insérer des enregistrements de manière sécurisée, avec paramètres liés pour éviter les injections SQL.
Mise à jour (UPDATE)
Modification d'enregistrements existants avec requêtes préparées. Vérification du nombre de lignes affectées via executeUpdate().
Suppression (DELETE)
Suppression d'enregistrements ciblés avec conditions WHERE. Bonnes pratiques pour éviter les suppressions accidentelles.
Étapes couvertes dans le tutoriel
Installation du driver JDBC
Téléchargement du MySQL Connector/J depuis le site officiel. Ajout du fichier .jar dans le Build Path du projet Eclipse via Properties → Java Build Path → Add External JARs.
Création de la base de données de test
Création d'une base MySQL de test avec une table simple (ex : etudiants avec id, nom, prénom, note). Script SQL fourni dans le tutoriel.
Établissement de la connexion
Écriture de la classe de connexion avec l'URL JDBC (jdbc:mysql://localhost:3306/nomBDD), chargement du driver et gestion des erreurs avec try-catch.
Requêtes SELECT et affichage
Exécution d'une requête SELECT avec createStatement() et executeQuery(). Parcours du ResultSet avec while(rs.next()) pour afficher les données en console.
INSERT, UPDATE, DELETE avec PreparedStatement
Remplacement des Statement simples par des PreparedStatement paramétrés pour toutes les opérations d'écriture. Explication des avantages en termes de sécurité et performance.
Fermeture propre des ressources
Importance de fermer ResultSet, Statement et Connection dans un bloc finally ou avec try-with-resources pour éviter les fuites mémoire.
Extrait de code — connexion et SELECT
import java.sql.*;
public class ConnexionBDD {
static final String URL = "jdbc:mysql://localhost:3306/ma_bdd";
static final String USER = "root";
static final String PASS = "";
public static void main(String[] args) {
try (Connection conn = DriverManager.getConnection(URL, USER, PASS);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM etudiants")) {
while (rs.next()) {
System.out.println(
rs.getInt("id") + " | " +
rs.getString("nom") + " " +
rs.getString("prenom")
);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Extrait de code — INSERT sécurisé
String sql = "INSERT INTO etudiants (nom, prenom, note) VALUES (?, ?, ?)";
try (PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, "Dupont");
pstmt.setString(2, "Alice");
pstmt.setDouble(3, 17.5);
int lignes = pstmt.executeUpdate();
System.out.println(lignes + " ligne(s) insérée(s).");
} catch (SQLException e) {
e.printStackTrace();
}
Compétences couvertes
- Comprendre le rôle de JDBC comme couche d'abstraction entre Java et la BDD
- Configurer un projet Eclipse avec un driver externe (.jar)
- Établir et gérer une connexion MySQL depuis Java
- Exécuter les 4 opérations CRUD en Java (SELECT, INSERT, UPDATE, DELETE)
- Utiliser PreparedStatement pour des requêtes sécurisées et paramétrées
- Appliquer les bonnes pratiques de gestion des ressources (try-with-resources)
- Gestion des exceptions SQLException