Première partie : Classes Tables



A quoi ca sert ?

Bon, voila l'historique de ces classes : alors que je ne savais pas trop quoi faire comme projet internet, je suis allé voir Michel, qui m'a parlé de cette fameuse application client-serveur (voir la page principale en cas de décrochage) et qui m'a dit qu'il leur fallait absolument une base de donnée pour la sauvegarde de ces gens là, et que ca ne pouvait plus durer sous forme de fichier texte et que si ca continuait il aller leur dire ce qu'il en pensait et que ca allait mal finir..... Non je rigole, c'est juste une question de "robustesse" (vous pouvez revenir les gars ).

Ensuite aprés avoir relevé le défi, je suis allé consulter les dis développeurs de génie pour savoir ce qu'il voulait et comment ils le voulaient. J'ai donc pris contact avec LE NOM DU GARS et on a discuté de ce qu'ils avaient besoins.

Ce qu'il faut donc, c'est des classes qui leur permettent d'interroger des tables (bien définies, si si j'insiste) de manière simple genre getPassword("bob") et pas du style légers et délicat de SQL genre : Select password from MaBelleTable where nick=bob et encore, c'est juste pour avoir un password.....Donc, aprés déscription des tables qu'il leur fallait :
  • Une table PERSONNES (nick, password, nom, adresse, tel, email)
  • Une table MESSAGES (nick, message)
  • Une table AMIS (nick, ami)
  • Une table CONNEXIONS (nick, port, veil, adrIP)
  • Bien qu'il soit necessaire d'avoir les 3 premières (en effet tout ca est sauvegardé par le serveur, une polémique subsiste à propos de la table CONNEXIONS qui n'est pas à sa place : en effet, les connexions sont gérées par le serveur et ca ne sert a rien de les sauvegarder. Donc comme on aurait une grosse perte de performances en accédant à la base, cette table ne risque pas de fair long feu. Mais de toute facon c'est fait, elle est là, et son interface aussi (qu'est-ce que l'on est consciencieux...) !

    Comment c'est fait ?

    Donc, il y a bien une classe par table, car sur chaque table les requêtes sont différentes (ca va de l'obtention d'un password à l'effacement d'une ligne en passant par un compte du nombre de messages). L'idéée est simple : on crée une classe de base : la classe Table qui permet de faire des requètes assez générales sur une table :
  • Récupération d'une ligne en fonction de la valeur d'un champs,
  • Effacement d'une ligne en fonction de la valeur d'un champs,
  • Récuperation d'une ligne complète,
  • Ajout d'une ligne,
  • Décompte du nombre de ligne ayant une colonne en commun,
  • et peut-être d'autres choses ... Cette classe est utilisable directement pour cetaines fonctions (Get, Update ...) mais pas du tout pour d'autre : Add (et oui, il faut respecter le nombre de champs et ne pas écrire n'importe quoi !).
    Les autres classes sont donc plus particulières à chaque table. Elles héritent en effet de la classe Table mais offrent des spécialisations propres à une table. De même pour la création : pour créer une connexion avec une table, il faut passer le nom de la table dans le constructeur de Table, mais ici chaque classe spéciale à une table crée elle même sa connexion avec un nom fixé.

    Pour l'utilisation de ces classe une aide est disponible (générée gràce à javadoc).
    JE VEUX l'HELP !
    JE VEUX l'API !


    Retour.