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

SQL Procédural MySQL Discussion :

Insertion d'un objet dans MySQL ?


Sujet :

SQL Procédural MySQL

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Insertion d'un objet dans MySQL ?
    Bonjour,

    Je voulais savoir si il est possible de mettre un objet dans une base de données. Par objet, j'entend par exemple un classe JAVA. Ceci m'éviterai de devoir transformer mon objet en chaîne de caractère pour le mettre dans la base de données et de devoir le retransformer en le récupérant.

    Merci d'avance.

  2. #2
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Salut,

    Je pense que tu peux faire ça avec des frameworks de persistance objet comme Hibernate.

    Sur le forum Java tu aurais peut-être plus de réponses...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse

  4. #4
    Membre confirmé
    Avatar de DBProg
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Points : 579
    Points
    579
    Par défaut
    Salut !

    Tu peux sûrement le faire en utilisant le type BLOB pour la colonne.
    Il faut ta classe soit Serializeable aussi, mais ça je pense que tu dois déjà le savoir.

  5. #5
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Sinon il y a JDO, dans le genre rendre des objets java persistants avec une BDD. Après si c'est pour un seul objet, sérialiser est peut-être suffisant.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci pour ce complément d'information, je vais essayer tout de suite.

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Me revoila,
    J'arrive à mettre mon objet avec :
    int retour=requete.executeUpdate("INSERT INTO essai VALUES("+envoi.hashCode()+")");

    Mais quand je le récupére avec ça :
    try{
    ResultSet resultat = requete.executeQuery("SELECT * FROM essai");
    if (resultat.first()){
    do{
    Object objet = resultat.getObject("objet");
    System.out.println(objet.getClass().getName());
    if (objet instanceof ObjetDB){
    ObjetDB objetDB = (ObjetDB) objet;
    System.out.println("nom : "+ objetDB.getNom());
    System.out.println("prénom : "+ objetDB.getPrenom());
    System.out.println("telephone : "+ objetDB.getTelephone()+"\n");
    }
    }while(resultat.next());
    }
    }catch(SQLException SQLE){
    System.out.println("Cause : "+SQLE.getMessage());
    System.exit(0);
    }

    J'ai bien mis nom objet en Serializable, mais lorsque je regarde le nom de la classe c'est incompréhensible.
    Alors où est-ce que j'ai échoué.
    Merci.

  8. #8
    Membre éprouvé
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Points : 984
    Points
    984
    Par défaut
    Désolé de te le dire, mais là c'est franchement un problème Java et non MySQL. Tu devrais suivre le conseil de Maximilian pour augmenter tes chances de réponse.

    Ceci dit, si tu n'insères que le hashCode de l'objet, je doute que tu vas être capable de reconstruire l'objet après !

  9. #9
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    http://perso.orange.fr/jm.doudoux/ja...al/chap020.htm

    Il faut regarder du coté de "ObjectOutputStream" et "writeObject". Si le lien ne suffit pas, il faudra vraiment continuer la discussion dans le forum java.

  10. #10
    Membre expert
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Points : 3 103
    Points
    3 103
    Par défaut
    Bonjour,

    La classe doit implémenter Serializable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class lobjet implements Serializable
    Pour ''sérialiser'' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Connection c;
    PreparedStatement ps = c.prepareStatement ("INSERT INTO latable (value) VALUES (?, ?)"); 
    ps.setObject (1, lobject); 
    ps.execute ();
    Pour ''désérialiser''
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    InputStream is = rs.getBinaryStream  ("value");
    ObjectInputStream ois = new ObjectInputStream (is);
    lobject = ois.readObject ();
    Ca devrait marcher.

    Mais si te me permets, quel est l'intérêt de gérer la persistance de tes données comme ça? Tu ne pourras pas utiliser le SQL pour accéder à tes données! Tu devras les gérer uniquement au travers de ton appli.!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Insertion dynamique d'objet dans un rapport
    Par Masmeta dans le forum Windows Forms
    Réponses: 1
    Dernier message: 21/06/2011, 14h57
  2. Insertion d'un objet dans une BD (JSF, HIBERNATE..)
    Par SI_BDD dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 16/06/2011, 09h16
  3. Donnée objet dans MySQL
    Par dragonno dans le forum Langage
    Réponses: 2
    Dernier message: 01/03/2009, 15h50
  4. insertion de fichier texte dans mysql
    Par houssamux dans le forum Windows Forms
    Réponses: 1
    Dernier message: 29/03/2008, 13h42
  5. insertion un fichier texte dans mysql
    Par houssamux dans le forum Requêtes
    Réponses: 9
    Dernier message: 27/03/2008, 13h31

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