L’examen consiste à rédiger le code source de cette application.
Commencez par créer, sur votre WAMP, une BD MySql grâce à ce script
mysql>source c:/monChemin/personnes.sql;
Même sous MS-DOS, MySql sépare les répertoires par des / et non par des \
Cette base de données ne contient qu’une seule table de personnes, avec leur nom, prénom, date de naissance, taille et poids.
La base de données ne peut être accédée qu’une seule fois dans la vie de l’application, au constructeur.
Pas question de lancer une requête SQL lors de chaque affichage.
Une fois démarrée, l’application doit pouvoir continuer à fonctionner même si la base de données était détruite.
Tous les tris doivent être effectués en Java. Votre requête SQL ne peut comporter aucun ORDER BY.
Vous créerez ensuite une classe Personne qui comporte les champs de la table, leurs setters et getters.
Pour créer une Personne facilement et rapidement, faites-vous un constructeur qui accepte tous ces champs.
La classe personne contient une méthode qui permet de l’afficher en une seule chaîne de caractères.
Cette méthode, intrinsèque à Java, permet d’afficher tout objet en chaîne.
La personne est également comparable à une autre personne.
Le critère de comparaison intrinsèque à une personne est l’ordre alphabétique du nom.
Si les noms de famille sont identiques, on trie par prénom.
Une fois votre classe Personne rédigée, construisez une seconde classe ListePersonnes qui hérite d’ArrayList.
Le constructeur de cette classe invoquera une méthode privée qui se connecte en JDBC sur la base de données que vous venez de créer.
Elle en lit la table des personnes et crée une Personne par enregistrement qu’elle contient.
Pour utiliser JDBC, il vous faudra le pilote MySql.jar
S’il n’est pas installé sur votre système, le voici.
Les personnes nouvellement créées sont immédiatement ajoutées à la liste des personnes ListePersonnes.
Attention, il est interdit d’utiliser une instruction SQL de tri ORDER BY dans votre code SQL.
Lequel sera réduit à sa plus simple expression : SELECT * FROM t_personnes
Prenez les personnes en vrac, c’est Java qui triera.
Si vous provoquez un tri sur la liste des personnes, c’est l’ordre alphabétique de nom et prénom qui est appliqué.
En fin de constructeur, la liste des personnes est créée.
Créez ensuite des objets comparateurs, capables de trier les personnes selon :
Vous concevrez une interface graphique toute simple,
composée d’une fenêtre avec un menu Critère et les quatre options de tri :
dans autant de JMenuItems.
Le simple déclenchement du menu provoquera l’affichage de la collection triée selon le critère souhaité.
Dans mon application, j’affiche les résultats dans une JTextArea.
Etant donné que nous n’avons pas vu ce composant au cours, j’accepte, sans soustraire de point, que vous affichiez le résultat dans la console.
Si vous voulez l’utiliser, son maniement est très simple :
private JTextArea monArea = new JTextArea();
Vous la mettez dans la zone centrale de votre BorderLayout
Pour y ajouter une ligne de texte : monArea.append(maChaine + "\n");
Cette instruction se comportera comme un System.out.println(maChaine);
Sans le "\n", il n’y aura pas de retour chariot, comme dans System.out.print(maChaine);
Pour en définir le contenu : monArea.setText(maChaine);
Donc, pour l’effacer avant d’y afficher les données triées : monArea.setText("");
Il n’y a pas d’instruction clean ou clear.
En tant que développeur Java, vous devrez très souvent apprendre à manipuler de nouveaux composants, tant il y en a.
Cette situation sera très fréquente dans votre vie professionnelle.
L’examen vous évaluera essentiellement sur :
Peu importe par contre qu’ils s’affichent dans une JTextArea ou en console, mais essayez tout de même d’utiliser la JTextArea.
Si l’utilisation de ce nouveau composant en situation d’examen génère un stress excessif, rabattez-vous sur l’usage de la console telle que vous y êtes habitués.
Quoi qu’il en soit, veillez à rendre votre examen à temps.
Bon travail !
Christian Mascart