|
|
|
Introduction :
JDBC est une API Java permettant
d'accéder aux bases de données de façon
indépendante. Pour faire fonctionner une application avec JDBC,
il faut dans un premier temps télécharger le driver de la
base de données. Pour Mysql par exemple, il suffit de
télécharger ce driver sur le site de Mysql puis de
l'installer dans un repertoire. Dans le repertoire d'installation, un
fichier . jar (mysql-connector-java) contient les classes qui seront
utilisées pour faire fonctionner l'application Java.
JDBC(Mise en oeuvre)
Effectuer les tâches suivantes dans l'ordre indiqué quel que soit la base de données utilisée
1. Enregistrer le driver JDBC
2. Ouvrir une connexion sur la base
3. Créer la requête (un Statement)
4. Exécuter la requête
5. Traiter le résultat retourné (un ResultSet)
6. Fermer les objets
1.Enregistrer le driver JDBC
L'enregistrement du driver JDBC se fait en instanciant une classe implémentant ce driver de la façon suivante :
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
ou
Class.forName("com.mysql.jdbc.Driver");
2.Ouvrir une connexion sur la base
String dbUrl = "jdbc:mysql://localhost:3306/celia-technology"; // url de connexion
String user = "root", password = ""; // login et mot de passe
Connection conn ;
conn = DriverManager.getConnection(dbUrl, user, password); // connexion à la base
3.Exemple de schéma SQL
CREATE TABLE employe (
id INT UNSIGNED PRIMARY KEY,
nom VARCHAR(50),
prenom VARCHAR(40),
age INT UNSIGNED
);
INSERT INTO employe VALUES (1, 'Adebayor', 'Sheyi', 50);
INSERT INTO employe VALUES (2, 'Anelka', 'Nicolas', 50);
4.Invocation d'une requête SQL de sélection
String anSQLquery = "SELECT prenom, nom, age FROM employe";
// Création d'un statement
Statement st = conn.createStatement();
// Exécution de la requête
ResultSet r = st.executeQuery(anSQLquery);
5.Parcours du résultat
String query = "SELECT nom, age ...";
ResutSet r = st.executeQuery(query);
while(r.next()) {
String nom = r.getString("nom");
int age = r.getInt(2);
// ...
}
Exemple complet
import java.sql.*;
public class PrintAllEmployees {
public static void main(String[] args)
throws SQLException, ClassNotFoundException {
String dbUrl = "jdbc:mysql://localhost:3306/celia-technology";
String user = "root", password = "";
// Chargement dynamique du driver
Class.forName("com.mysql.jdbc.Driver");
// Etablissement de la connexion
Connection conn;
conn = DriverManager.getConnection(dbUrl, user, password);
// Création d'un statement
Statement st = conn.createStatement();
String anSQLquery = "SELECT prenom, nom, age FROM employe ";
// Exécution de la requête
ResultSet r = st.executeQuery(anSQLquery);
// Parcours du résultat
while(r.next()) {
String nom = r.getString("nom");
int age = r.getInt("age");
System.out.println(nom + ", " + age + " ans");
}
r.close(); st.close(); conn.close(); }
}
Commentaire :
Dans cet exemple, nous avons développé
un petit programme qui affiche le nom et prenom des employés de
Celia-Technology
|
|
|