Vous êtes sur la page 1sur 3

TP :JDBC

Il s'agit de suivre la réalisation des scripts des developppeurs d'un projet. Un rapport
hebdomadaire est effectué par le chef de projet qui relève chaque jour le nombre de script de
realisés par les différents developppeurs. Ces informations sont stockées dans un SGBD dans
une table dont la structure est la suivante :

Developpeurs Jour NbScripts


Gilbert Lundi 1
Wally Lundi 2
Edgar Mardi 9
Wally Mardi 2
Eugene Mardi 3
Josephine Mercredi 2
Eugene Jeudi 3
Gilbert Jeudi 1
Clarence Vendredi 9
Edgar Vendredi 3
Josephine Vendredi 4

Le SGBD utilisé pour ce TP, sera Mysql . Pour pouvoir dialoguer depuis vos programme
Java avec la base mysql vous aurez besoin du driver . que vous devrez rammener sur votre
compte et intégrer dans votre classpath lors des exécutions. Ce fichier contient le bytecode des
différentes classes du driver jdbc pour la base de données mysql.

Exercice 1 : Ouvrir une connexion, Créer et remplir une table

- ouverture d'une connexion à la base mysql


- création de la table récapitulative des réalisations des scripts,
- initialisation de la table.
- supprimer la table

Compiler et tester votre programme.

Pour effectuer ces opérations suivre les étapes suivantes :

1. Charger le driver jdbc de la base mysql.


Vous devez charger un driver qui "dit" aux classes JDBC comment communiquer avec
la source de données.

Se connecter à la source de données. En utilisant la classe DriverManager


demander une connexion à une URL identifiant la base de données mysql.
2. Envoyer des instructions SQL pour créer une table.
1. demander un objet Statement à l'objet Connection:
2. Ensuite exécuter l'instruction SQL suivante pour créer la table nommée
DevData.
3. CREATE TABLE DevData (
Developpeurs VARCHAR (32),
Jour CHAR (11),
NbScripts INTEGER)

4. Après avoir créée la table insérer les valeurs appropriées:

INSERT INTO JoltData VALUES ('Gilbert', ‘Lundi’, 1)


INSERT INTO JoltData VALUES ('Wally', 'Lundi', 2)
INSERT INTO JoltData VALUES ('Edgar', 'Mardi', 8)
...

Exercice 2 : Rechercher de l'information dans la base de données

Pour retrouver de l'information dans la BD, utiliser des instructions SQL SELECT au travers de
la méthode JAVA executeQuery de l'interface Statement qui retourne des résultats sous la
forme de lignes de données dans un objet ResultSet. Les résultats sont examinés ligne par
ligne en utilisant les méthode next() et getType() de l'interface ResultSet.

a) Modifier le programme ExoJDBC afin d'afficher :

• la personne ayant réalisé le nombre maximum de script en une journée


• la liste des personnes triée dans l'ordre décroissant selon leur nombre de scripts.

b) Modifier le programme ExoJDBC afin de calculer et afficher le nombre total de scripts de


realisés en une semaine. (essayez de penser à une commande SQL, simplifiant au maximum
cette tâche).

c) Modifier le programme ExoJDBC afin de calculer pour un programmeur donné le nombre


total de scripts réalisés.

Exercice 3 :

Effectuer une requête libre et obtenir la méta information sur les types de
données du résultat

Souvent on a besoin de connaitre de la méta information au sujet des résultats d'une requête.
Par exemple l'instruction SQL
SELECT * FROM DevData
retournera un ResultSet avec le même nombre de colonnes et de lignes que la table,
JoltData. Par contre la requête
SELECT Developpeurs FROM DevData
produit une table à une seule colonne ne contenant que les noms des programmeurs.
Aussi, si vous ne savez pas quelles colonnes seront présentes dans le résultat d'une requête
vous devez utiliser les méta-données au travers de la classse ResultSetMetaData.

Modifier le programme ExoJDBC afin d 'exécuter une requête libre définie par une chaîne
donnée au clavier et selon la nature de la requête d'afficher les informations suivantes :

• Si la requête produit un ResultSet


o le nombre de colonnes de la table résultat est affiché,
o pour chaque colonne, son nom et le type des données est affiché,
o le contenu de la table est affiché ligne par ligne.
• Sinon le nombre de lignes modifiées dans la table DevData est affiché.

Exercice 4 :

Utilisation d’ un PreparedStatement :

Ecrire une requete precompilée qui permet dans un premier temps de derenvoyer les
developpeurs ayant realisé un minimum de script puis dans un deuxiéme temps Les
developpeurs qui ont realisé un maximum de scripts

Exercice 5 :

Configuration du driver de la base de données à partir d'un fichier properties

Il est dommage de "mettre en dur" dans le programme les paramètres de configuration de la


base donnée (nom du driver, url de connexion). En général, il vaut mieux isoler ces
paramètres dans un fichier de configuration afin de pouvoir les modifier facilement et ne pas
avoir à modifier et recompiler le code Java en cas de modification de la base de données.

Modifiez votre programme afin qu'il puisse lire les chaînes décrivant la BD dans un fichier de
propriétés .