2ème année génie Informatique
Tp n°10
(Java)
Connexion à une base de données
Pour établir une connexion à une base de données sous Eclipse, il faut télécharger le driver
sql et l'ajouter dans la liste des librairies référencées. On procède par la suite par la création
d'une base de données à travers le client PhpMyAdmin. On peut alors se connecter à la
base de données et manipuler les données à travers le JDBC.
Pour ce faire nous allons suivre les étapes suivantes
1.Télécharger le JDBC
Pour pouvoir connecter votre application Java à une base de données
MySQL, il vous faudra télécharger la bibliothèque “MySQL Connector .jar” par
[Link]
2. Rajouter la bibliothèque
Ensuite, pour ajouter cette extension à votre projet, il va falloir suivre la
procédure suivante :
1. Effectuez un “Clique droit” sur ton projet (ici “Test-Connexion-
SQL”).
2. Ouvrir les “Propriétés du projet”.
3. Aller dans la section “Java Build Path”.
4. Cliquer sur “Add External JARs…”.
5. Sélectionner le ficher “MySQL Connector .jar” dans le dossier où
vous l’avez téléchargé.
6. Puis cliquer sur “Ouvrir”.
3. Connexion à la base de données
Pour se connecter à une base de données, il faut instancier un objet de la classe
Connection en lui précisant sous forme d'URL la base à accéder.
Il faut tout d’abord faire les imports suivants
import [Link];
import [Link];
import [Link];
Pour créer la connexion, le code est le suivant :
Connection con = [Link]( url, username, password );
4. Maintenant qu’on a établi la connexion avec la base de données, on peut accéder à
la base de données et l’interroger à travers des requêtes SQL.
a. Les requêtes d'interrogation SQL sont exécutées avec les méthodes d'un objet
Statement que l'on obtient à partir d'un objet Connection. Pour une requête de
type interrogation (SELECT), la méthode à utiliser de la classe Statement est
executeQuery(). Pour des traitements de mise à jour, il faut utiliser la méthode
executeUpdate(). Lors de l'appel à la méthode d'exécution, il est nécessaire de
lui fournir en paramètre la requête SQL sous forme de chaine.
Le résultat d'une requête d'interrogation est renvoyé dans un objet de la classe
ResultSet par la méthode executeQuery().
Exemple de code :
ResultSet résultats = null;
String requete = "SELECT * FROM EMPLOYES";
try {
Statement stmt = [Link]();
résultats = [Link](requete);
} catch (SQLException e) {
//traitement de l'exception}
b. La classe ResultSet est une classe qui représente une abstraction d'une table qui
se compose de plusieurs enregistrements constitués de colonnes qui contiennent
les données. Les principales méthodes pour obtenir des données sont :
Méthode Rôle
retourne sous forme d'entier le contenu de la colonne dont le numéro est passé
getInt(int)
en paramètre.
retourne sous forme d'entier le contenu de la colonne dont le nom est passé en
getInt(String)
paramètre.
retourne sous forme d'un nombre flottant le contenu de la colonne dont le
getFloat(int)
numéro est passé en paramètre.
getFloat(String retourne sous forme d'un nombre flottant le contenu de la colonne dont le nom
) est passé en paramètre.
retourne sous forme de date le contenu de la colonne dont le numéro est passé
getDate(int)
en paramètre.
getDate(String retourne sous forme de date le contenu de la colonne dont le nom est passé en
) paramètre.
next() se déplace sur le prochain enregistrement : retourne false si la fin est atteinte
close() ferme le ResultSet
getMetaData() retourne un objet de type ResultSetMetaData associé au ResultSet.
c. En se servant des méthodes précédentes afficher tous les enregistrements
d’une table de votre base de données.
d. Filtrer les données.
Exemple : Afficher les clients dont le nom commence par « M »
Afficher les clients dont l’âge est plus grand que 20 ans.
e. Insérer d’autres lignes à votre table.
f. Exécuter des requêtes de modification des données.
Exemple : changer le nom du premier client, changer