IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

[Debutant] Conception du traitement des données


Sujet :

JDBC Java

  1. #1
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 97
    Points : 104
    Points
    104
    Par défaut [Debutant] Conception du traitement des données
    Bonjour à tous,

    je débute dans le développement Java avec Jdbc et ma question ne concerne pas un problème de codage mais plutôt comment traiter/structurer les données recues et envoyées à la DB.

    Concretement, j'ai une petite base de donnée comprenenant 3 tables (Personnes, Villes et la table associative).
    D'un autre côté, j'ai une petite application Java qui reprend également une structure similaire, c'est à dire 2 classes (Personnes et Villes) avec les méthodes associatives permettant de respecter les cardinalités de ma db.

    Pour créer de nouveaux records dans ma DB, j'instancie le nombre de personnes et de villes désirées et ensuite j'envoie le tout vers ma DB.
    Pour lire ce qui est présent dans ma db, je réalise une query qui me retourne tout ce qui est présent (les 3 tables) et ensuite, j'instancie chaque valeur retournée par cette query soit en objet Personnes ou Ville et la table associative de ma DB me permet de réaliser les associations entre les objets.

    Maintenant, je ne vois pas comment je dois procéder quand les données sont déjà existante mais qu'elles doivent être modifiées.
    Est ce qu'il existe un tutorial ou autre expliquant la conception de ce genre d'application?

  2. #2
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Citation Envoyé par badack
    Maintenant, je ne vois pas comment je dois procéder quand les données sont déjà existante mais qu'elles doivent être modifiées.
    Est ce qu'il existe un tutorial ou autre expliquant la conception de ce genre d'application?
    Si elles sont déjà existantes c'est que tu les charge au lancement. enfin elles sont instanciées. donc soit tu modifie tes instances et tu écrase dans ta base (un peu bourrin mais efficace), soit tu crées une requete update à exécuter sur la base (plus propre assurément).

    Dans tous les cas attention à la synchro, il faut que de chaque côté les valeurs soient égales.
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  3. #3
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Plutot que de reinventer la roue, autant utiliser un ORM existant. Ce n'est pas ca qui manque en Java (SimpleORM, JDO, Hibernate, OJB, ...)
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  4. #4
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    enfin pour une bete exo Personnes <-> Ville, c'est ptet pas la peine

    et puis mettre les mains dans ... le cambuis, ça peut être utile pour la suite...

    [EDIT]
    Ps : enfin si c'est pour une appli pros de gestions des habitants d'une ville, effectivement ma proposition n'est pas adaptée . Je te laisse faire ton choix suivant tes besoins ...
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  5. #5
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 97
    Points : 104
    Points
    104
    Par défaut
    Vous savez comment sont les cours, on apprend d'abord à refaire un début de roue et ensuite on nous montre qu'elle est existante et qu'elle peut être utilisée.
    Disons qu'ici, ma question est orienté "Bonnes règles" pour ce type d'opération. Car effectivement, j'ai pensé aussi à tout écraser à chaque fois, mais si ma base comportait 10000 reccords, je n'aurais surement pas tout rappatrié dans ma requète (déjà de 1 , mais pour une petite DB ici c'est plus simple ) et ensuite je n'aurais injecter que les nouvelles données et les données modifiées.

  6. #6
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Bon, dans ce cas il faut que tu ajoutes dans ta classe un attribut
    Et quand tu modifie une de tes instances en mémoire, tu passe le boolean a true. Ca te permet de savoir que cette instance n'est plus "synchro" avec la base de donnée.

    Ensuite, quand tu quittes ton programme (ou a intervalle fixe) tu parcours toutes les instances en memoire et celles qui ont dirty=true tu les sauves en base avec une query "UPDATE" et tu remets le boolean dirty a false.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #7
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 97
    Points : 104
    Points
    104
    Par défaut
    Très bonne idée, je m'en vais de ce pas l'implémenter.

Discussions similaires

  1. Réponses: 22
    Dernier message: 05/07/2006, 15h21
  2. [Formulaires] Traitement des données dans une autre page...
    Par sekiryou dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/03/2006, 09h08
  3. [PHP-JS] Traitement des données dans une autre page...
    Par sekiryou dans le forum Langage
    Réponses: 5
    Dernier message: 04/03/2006, 09h06
  4. traitement des données avant envoie dans MySQL
    Par italiasky dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 07/02/2006, 22h50
  5. [Debutant] comment faire passer des donnée ???
    Par cyrill.gremaud dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 17/01/2006, 22h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo