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 :

Injection fichier XML dans la base de données


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 102
    Points : 42
    Points
    42
    Par défaut Injection fichier XML dans la base de données
    Bonjour à tous ,

    Dans le cadre de mon stage je dois faire une fonction qui puisse remplir la base de données à partir d'un fihichier xml .

    Dans un premier temps j'ai testé le fait de charger un fichier xml et de l'afficher le resultat sur la console .


    maintenant j'aimerais savoir comment faire pour injecter ses information a partir de mon fichier xml vers ma base de données .

    par exemple j'ai pris un fichier dans lequel sont recensées des personnes avec leurs noms et d'autre inforamtion .

    ce que j'aimerais c'est remplir la base données par ces informations .

    je travaillle avec myeclipse for spring
    j'utilise le framwork spring

    merci pour votre aide

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 75
    Points : 86
    Points
    86
    Par défaut
    Bonjour,

    Je ne vois pas vraiment le problème

    Si tu arrives à parcourir ton fichier xml, avec l'API dom je présume, tu as juste à créer ta string de requête pour chaque personne en ajoutant les infos associées et à l’exécuter à chaque tour de boucle.

    en espérant t'avoir aidé,

    link_915

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 102
    Points : 42
    Points
    42
    Par défaut
    je suis désolé mais je suis encore débutant dans ce domaine .

    je n'ai pa compris comment et ou faire la requete d'insertion .

    merci pour la reponse

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 102
    Points : 42
    Points
    42
    Par défaut
    personne n'a une idée !!??

    je suis vraiment bloqué et je ne sais pas comment faire si vous pouvez me donner un coupe de pouce ça serait gentil de votre part .

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    qu'est-ce qui vous bloque concrètement, lire le ficheir xml? Comprendre ce qu'il y a dedans? Vous connecter à une base de données? Autres ??

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 102
    Points : 42
    Points
    42
    Par défaut
    merci pour la réponse ,

    ce qui me bloque c'est comment requéter le contenu du fichier xml dans la base de données .

    dois-je utiliser des "insert" et si oui ou et comment

    merci encore

  7. #7
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    Qu'est-ce que vous entendez pas "requéter le contenu du fichier xml dans la base de données"?

  8. #8
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 102
    Points : 42
    Points
    42
    Par défaut
    désolé je me suis mal exprimé ,

    j'entends par cela récupérer son contenu et l'inserer dans la base

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 75
    Points : 86
    Points
    86
    Par défaut
    Salut,

    tu arrives à afficher ton fichier xml, ça veut dire que tu le parcours ?

    ou bien tu affiches sa représentation en String à l'aide d'un transformer ?

    Si tu le parcours:
    Ta requête vers ta base, tu la créer à chaque fin d'itération sur une personne.

    Sinon:
    Regarde du côté de DOM pour le parcourir.

    Et pour ta requête, je ne connais pas ton SGBD, et de facto la syntaxe des requête non plus.

    link_915

    Ps : Google peut apprendre beaucoup de choses à qui sait l'entendre

  10. #10
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 102
    Points : 42
    Points
    42
    Par défaut
    en fait je me sui inspiré du tuto sur la manipulation des fichier xml qu'il y'a sur developper.com .

    pour ce qui est de ma base j'utilise oracle .

    et je travaille avec spring framework .

    En effet j'utilise JDom .
    je fai des iteration et j'arrive a afficher les différents noeuds du fichier xml.

    maintenant au lieu de les afficher j'aimerais les insérer dans ma table .

  11. #11
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 102
    Points : 42
    Points
    42
    Par défaut
    Citation Envoyé par link_915 Voir le message
    Salut,


    Si tu le parcours:
    Ta requête vers ta base, tu la créer à chaque fin d'itération sur une personne.


    c'est ça en fait mon problème je ne sais pa comment mettre des requetes sql dans du java

  12. #12
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 75
    Points : 86
    Points
    86
    Par défaut
    Ah bah avec un peu d'infos c'est déjà mieux.

    je ne connais pas la structure de ton XML mais voilà une idée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <personne>
    	<info1></info1>
    	<info2></info2>
    </personne>
    INSERT INTO personnes (id, personne.NodeValue, info1.NodeValue, info2.NodeValue);

    apres tu adaptes en fonction que c'est un attribut ou autre.

    Après si c'est la connexion à la base qui te pose problème c'est encore autre chose.

  13. #13
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 102
    Points : 42
    Points
    42
    Par défaut
    Oui mais cette requête je peux pas la mettre dans ma classe java si ???

  14. #14
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 75
    Points : 86
    Points
    86
    Par défaut
    Oui tu peux à l'aide de l'objet à pro prié, regarde le lien que je t'ai donne 1 message au dessus.

  15. #15
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 102
    Points : 42
    Points
    42
    Par défaut
    merci pour le lien ,

    voila je vous donne encore plus d'information concernant ce que je souhaiterais faire .

    En fait Dans une premier temps à l'aide de spring je peux inserer des nouvelles entrée dans ma table personne mais une entrée à la fois .


    Maintenant ce que j'aimerais faire c'est de pouvoir insérer plusieurs personnes en un seul coup grace au fichier xml .

    la difficulté que je recontre c'est que je ne sais pas ou faire les traitement vu qu je débute encore .

    j'ai commencé à faire des manipulation dans ma classe service . Est ce que tu penses que c'est une bonne chose ou je dois créer tout une classe qui s'occupe de parser le fichier xml ???

  16. #16
    Membre confirmé Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Points : 577
    Points
    577
    Par défaut
    A mon sens avec des outils un peu moderne, tu dois pouvoir desserialiser ton fichier en objet java (bean), il faut définir un classe qui corresponde à tes noeuds personne en utilisant par exemple XStream
    En suite il suffit de faire persister tes objet (beans) en base de données en utilisant JPA ça ira vite avec peu de code.
    En faisant cela tu apprendras pas mal des choses qui sont des éléments clé en java.
    Tu peux aussi tout faire à la mano avec Jdom et JDBC c'est old school, mais ça permet de bien comprendre la base.

  17. #17
    Membre actif Avatar de aymen83
    Inscrit en
    Décembre 2007
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 271
    Points : 268
    Points
    268
    Par défaut
    la façon la plus "clean" c'est d'utiliser spring batch. Sinon la méthode classique
    utiliser un parser xml style DOM, SAX, STAX et faire les insertions dans la base en utilisant jdbc ou n'import quel ORM. Pour ça spring fournit beacoup de classe utilitaire "JdbcDaoSupport, HibernateDaoSupport..."

  18. #18
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 102
    Points : 42
    Points
    42
    Par défaut
    merci pour ta réponse ,

    Mais logiquement je ne devrais pas avoir besoin d'utiliser Xtream vu que Spring génére deja une classe java Bean non ???

  19. #19
    Membre confirmé Avatar de NicoL__
    Homme Profil pro
    Architecte
    Inscrit en
    Janvier 2011
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Janvier 2011
    Messages : 399
    Points : 577
    Points
    577
    Par défaut
    Rien à voir, Spring permet en gros de manipuler des beans, de les assembler par injection. Spring instancie les beans et les assemble par rapport à une configuration.
    XStream permet d'écrire (serialiser) et de lire (desserialiser) des beans dans un fichier xml.
    Les bean personnes n'ont pas a être instancier et assemblé par spring puisque c'est le fichier source XML qui les contient, ce sont des beans de "data".
    En général on utilise spring pour constuire l'application, les beans manipulé par spring sont des bean qui permette de réaliser des actions. Typiquement : une connexion à une bbd, un accès à une bdd, une class permettant de desserialiser le fichier xml...

  20. #20
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 102
    Points : 42
    Points
    42
    Par défaut
    Donc la si j'ai bien compris ,

    je prends mon fichier xml , je le serialise avec xtream , qui va transformer touts les nouds de personnes en objet .

    Ensuite j'insére ces objets dans ma base ???

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/06/2012, 10h14
  2. [MySQL] Importer des fichiers XML dans une base de données (Easyphp)
    Par Boujoute dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 01/12/2011, 00h13
  3. stocker un fichier xml dans une base de données en sql
    Par yidboulmane dans le forum Langage SQL
    Réponses: 2
    Dernier message: 23/09/2008, 09h55
  4. Réponses: 1
    Dernier message: 09/05/2006, 12h00
  5. Intégration des fichier XML dans une base de données MySQL
    Par bebemoundjou dans le forum XQUERY/SGBD
    Réponses: 8
    Dernier message: 25/11/2005, 22h41

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