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 :

Stocker un object dans un champ de SGBD (MySQL)


Sujet :

JDBC Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 37
    Points : 29
    Points
    29
    Par défaut Stocker un object dans un champ de SGBD (MySQL)
    Bonjour,

    Je stocke un "Objet" en prenant la valeur de ses champs dans un champ de Base de donnée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    StringBuffer buf=new StringBuffer();
    buf.append(valeurduchamp1);
    buf.append(separateur)
    buf.append(valeurduChamp2);
    ...;
    preparedStatement.setString(1,buf.toString);
    Je peux ensuite reconstituer l'objet en récupérant la valeur du champ de base, en le décomposant, avec les valeurs des champs d'instance de l'objet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Object obj=new  Object(valeurduchamp1,valeurduchamp2)
    Questions :
    1) Ca marche mais est-ce très orthodoxe?

    2) Quelle technique peut-on utiliser?

    Merci d'avance pour les réponses

  2. #2
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    Tu peux toujours utiliser la sérialisation, et stocker le flux en BDD

    un ptit exemple rapide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Serializable toWrite = ....;
     
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream(baos);
     
    // write 
    oos.writeObject(toWrite);
     
    // récupère le flux d'octets
    byte[] binaryData = baos.toByteArray();
     
    // stocke binaryData comme tu le veux en BDD
    pour la relecture c'est à peu près pareil, mais en utilisant ObjectInputStream

    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  3. #3
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 37
    Points : 29
    Points
    29
    Par défaut Stocker un object dans un champ de SGBD (MySQL)
    Merci pour cette réponse

    J'ai essayé .
    Cette solution marche avec des Strings par exemple,mais ça ne marche pas si mon objet extends ArratList.

    Pourtant ArrayList implémente Serializable.

    Vous auriez une idée?

  4. #4
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    est-ce que le contenu de l'ArrayList est lui aussi Serializable ?

    la sérialisation ne sérialize que ce qui est sérializable....
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 37
    Points : 29
    Points
    29
    Par défaut Exact
    Re bonjour

    Exact , je viens de trouver

    Merci

Discussions similaires

  1. [AC-2010] "Mémoriser la valeur" ou "Stocker la valeur dans ce champ"
    Par ZoliveR dans le forum IHM
    Réponses: 1
    Dernier message: 12/12/2010, 00h51
  2. [MySQL] Stocker du xhtml dans un champ
    Par JLC83 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 24/04/2008, 18h43
  3. stocker des images dans le champ d'une table
    Par flex@ dans le forum Débuter
    Réponses: 2
    Dernier message: 02/01/2008, 17h23
  4. [SqlServer 2000]Stocker des images dans un champs
    Par badrel dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 14/03/2007, 00h28
  5. taille max d'une photo jpg dans un champ blob de mysql
    Par zidenne dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 04/10/2006, 09h42

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