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

avec Java Discussion :

Récupérer des valeurs stockées par un id


Sujet :

avec Java

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 10
    Points : 2
    Points
    2
    Par défaut Récupérer des valeurs stockées par un id
    Je suis très débutant en java.
    Je veux stockés un ensemble des valeurs ( id, valeur, valeur).

    Dans une méthode je veux passer des valeurs ( id, valeur, valeur)., parmi ces valeurs il ya un id.

    dans un premier traitement de code : la methode1 (id,val1,val2) est exécuté.
    dans un deuxième traitement de code : je passe autre paramètres a la methode1 (parm1,param2,id) mais avec le même id.

    Ma question est comment je stocke toutes ces valeurs val1, val2, param1, param2, id.

    Et par la suite je RECUPE toutes ces valeurs à partir de id.

    merci

  2. #2
    Membre éclairé
    Homme Profil pro
    NoOb
    Inscrit en
    Mai 2007
    Messages
    554
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : NoOb

    Informations forums :
    Inscription : Mai 2007
    Messages : 554
    Points : 852
    Points
    852
    Par défaut
    Salut,

    Les objets sont tes amis =)

  3. #3
    Membre régulier
    Femme Profil pro
    Inscrit en
    Février 2010
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations forums :
    Inscription : Février 2010
    Messages : 110
    Points : 77
    Points
    77
    Par défaut
    Salut,

    Est ce que vous voulez dire que vous cherchez comment stocker les valeurs dans une table? base des données? où exactement?

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 13
    Points : 18
    Points
    18
    Par défaut
    Salut,

    tu peux utiliser une classe qui englobe tes attributs :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    public class Bean {
     
    	private Long id;
    	private Object val1;
    	private Object val2;
    	private Object param1;
    	private Object param2;
     
    	public Long getId() {
    		return id;
    	}
    	public Object getVal1() {
    		return val1;
    	}
    	public Object getVal2() {
    		return val2;
    	}
    	public Object getParam1() {
    		return param1;
    	}
    	public Object getParam2() {
    		return param2;
    	}
    	public void setId(Long id) {
    		this.id = id;
    	}
    	public void setVal1(Object val1) {
    		this.val1 = val1;
    	}
    	public void setVal2(Object val2) {
    		this.val2 = val2;
    	}
    	public void setParam1(Object param1) {
    		this.param1 = param1;
    	}
    	public void setParam2(Object param2) {
    		this.param2 = param2;
    	}
    }
    puis tu peux utiliser ce Bean comme tu veux.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    public class Main {
     
    	Map<Long, Bean> mapBean = new HashMap<Long, Bean>();
     
    	void insert(Long id, Object val1, Object val2) {
    		Bean b = new Bean();
     
    		b.setId(id);
    		b.setVal1(val1);
    		b.setVal2(val2);
     
    		mapBean.put(id, b);
    	}
     
    	void update(Long id, Object param1, Object param2) {
    		Bean b = mapBean.get(id);
     
    		if(b != null) {
    			b.setParam1(param1);
    			b.setParam2(param2);
     
    			mapBean.put(id, b);
    		}
    	}
    }

  5. #5
    Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par A1B2C3D4 Voir le message
    Salut,

    tu peux utiliser une classe qui englobe tes attributs :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    public class Bean {
     
    	private Long id;
    	private Object val1;
    	private Object val2;
    	private Object param1;
    	private Object param2;
     
    	public Long getId() {
    		return id;
    	}
    	public Object getVal1() {
    		return val1;
    	}
    	public Object getVal2() {
    		return val2;
    	}
    	public Object getParam1() {
    		return param1;
    	}
    	public Object getParam2() {
    		return param2;
    	}
    	public void setId(Long id) {
    		this.id = id;
    	}
    	public void setVal1(Object val1) {
    		this.val1 = val1;
    	}
    	public void setVal2(Object val2) {
    		this.val2 = val2;
    	}
    	public void setParam1(Object param1) {
    		this.param1 = param1;
    	}
    	public void setParam2(Object param2) {
    		this.param2 = param2;
    	}
    }
    puis tu peux utiliser ce Bean comme tu veux.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    public class Main {
     
    	Map<Long, Bean> mapBean = new HashMap<Long, Bean>();
     
    	void insert(Long id, Object val1, Object val2) {
    		Bean b = new Bean();
     
    		b.setId(id);
    		b.setVal1(val1);
    		b.setVal2(val2);
     
    		mapBean.put(id, b);
    	}
     
    	void update(Long id, Object param1, Object param2) {
    		Bean b = mapBean.get(id);
     
    		if(b != null) {
    			b.setParam1(param1);
    			b.setParam2(param2);
     
    			mapBean.put(id, b);
    		}
    	}
    }
    bonjour à tous,

    merci beaucoup de votre réponse.

    en fait, j'ai une question comment je peux recuperer toutes ces valeurs stockes dans mapBean à l'aide de id.

    merci d'avance.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Points : 419
    Points
    419
    Par défaut
    bien tu prend la javadoc de Map Map et tu cherche une méthode du style je sais pas moi get(id)

    ps : en plus tu a l'exemple juste au dessus et tu l'a même cité je ne suis pas sur que tu est cherché a comprendre comment marche le code exemple.

  7. #7
    Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par rolfone Voir le message
    bien tu prend la javadoc de Map Map et tu cherche une méthode du style je sais pas moi get(id)

    ps : en plus tu a l'exemple juste au dessus et tu l'a même cité je ne suis pas sur que tu est cherché a comprendre comment marche le code exemple.
    merci de votre réponse.

    J'ai bien réussi à récupérer l'objet mapBean à l'aide de id dans la même classe ou j'ai codé 'objet mapBean .

    Par contre, lorsque je fait appelle de cet object mapBean dans une autre classe.

    Voici une partie de code : là jamais il va rentrer dans la boucle while.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Iterator it = mapBean.entrySet () .iterator () ;
     
    while  ( it.hasNext ()  )   {  
     
        Map.Entry e =  ( Map.Entry) it.next () ; 
        System.out.println ( e.getKey ()  + " " + e.getValue ()  ) ; 
     
    }
    merci de votre aide.

  8. #8
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Points : 313
    Points
    313
    Par défaut
    Bonjour,

    Quel code utilisez-vous pour l'insertion des valeurs dans votre objet mapBean ?

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Points : 419
    Points
    419
    Par défaut
    comment passé vous l'object mapBean de la class A à la class B?

  10. #10
    Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par rolfone Voir le message
    comment passé vous l'object mapBean de la class A à la class B?

    bonjour et merci de votre réponse.

    voici les codes de deux classes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    classe A
     
    Map  mapBean = new HashMap();
     
    Bean b = new Bean();
     
    		b.setId(id);
    		b.setVal1(val1);
    		b.setVal2(val2);
     
    		mapBean.put(id, b);
    Classe B:
    Map  mapBean = new HashMap();
    Bean b = mapBean.get(id);
    b.getId();
    b.getVal1();
    b.getVal2();

    lorsque je debug la classe B , je trouve le bean est null.

    merci de votre aide.

  11. #11
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Points : 313
    Points
    313
    Par défaut
    entre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Map  mapBean = new HashMap();
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Bean b = mapBean.get(id);
    vous ne faîtes rien ? du coup, mapBean est vide et retourne ... rien

  12. #12
    Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par jcdentons Voir le message
    entre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Map  mapBean = new HashMap();
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Bean b = mapBean.get(id);
    vous ne faîtes rien ? du coup, mapBean est vide et retourne ... rien

    merci de votre réponse.

    dans la classe A, j'ai stocké les valeurs : id , val1 et val2.

    donc la classe B, j'ai appeler le bean stocke dans Map à l'aide de id.

    est ce que c'est correcte???

  13. #13
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Ben non. Dans la classe B, c'est un new HashMap.
    Ça n'a rien à voir avec la Map qui a été créée et remplie par la classe A.

  14. #14
    Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Ben non. Dans la classe B, c'est un new HashMap.
    Ça n'a rien à voir avec la Map qui a été créée et remplie par la classe A.

    bonjour et merci de votre réponse.

    et comment faire pour récuperer le bean?

    merci

  15. #15
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Normalement je suggérerais d'apprendre un peu de Java avant de venir demander dans un forum ce qu'on fait des variables après les avoir créées. Mais je vais essayer de faire comme si je connaissais le mot patience.

    Voilà comment B peut accéder au mapBean de A, pour les débutants qui n'ont pas encore appris à cacher l'implémentation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    class A{
      Map<String, Object> mapBean;
      A(Object objet1, Object objet2) {
        mapBean = new HashMap<String, Object>();
        mapBean.put("id-1", objet1);
        mapBean.put("id-2", objet2);
      }
    }
     
    class B {
      void faireQuelqueChoseAvecLaMap(A a) {
        Map<String, Object> mapBean = a.mapBean;
        // faire quelque chose avec mapBean
      }
    }
    La même chose quand on sait cacher l'implémentation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public class A{
      private Map<String, Object> mapBean;
      public A(Object objet1, Object objet2) {
        mapBean = new HashMap<String, Object>();
        mapBean.put("id-1", objet1);
        mapBean.put("id-2", objet2);
      }
      public Map<String, Object> getMapBean() {
        return mapBean;
      }
    }
     
    public class B {
      public void faireQuelqueChoseAvecLaMap(A a) {
        Map<String, Object> mapBean = a.getMapBean();
        // faire quelque chose avec mapBean
      }
    }

  16. #16
    Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Normalement je suggérerais d'apprendre un peu de Java avant de venir demander dans un forum ce qu'on fait des variables après les avoir créées. Mais je vais essayer de faire comme si je connaissais le mot patience.

    Voilà comment B peut accéder au mapBean de A, pour les débutants qui n'ont pas encore appris à cacher l'implémentation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    class A{
      Map<String, Object> mapBean;
      A(Object objet1, Object objet2) {
        mapBean = new HashMap<String, Object>();
        mapBean.put("id-1", objet1);
        mapBean.put("id-2", objet2);
      }
    }
     
    class B {
      void faireQuelqueChoseAvecLaMap(A a) {
        Map<String, Object> mapBean = a.mapBean;
        // faire quelque chose avec mapBean
      }
    }
    La même chose quand on sait cacher l'implémentation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public class A{
      private Map<String, Object> mapBean;
      public A(Object objet1, Object objet2) {
        mapBean = new HashMap<String, Object>();
        mapBean.put("id-1", objet1);
        mapBean.put("id-2", objet2);
      }
      public Map<String, Object> getMapBean() {
        return mapBean;
      }
    }
     
    public class B {
      public void faireQuelqueChoseAvecLaMap(A a) {
        Map<String, Object> mapBean = a.getMapBean();
        // faire quelque chose avec mapBean
      }
    }
    bonjour,
    merci beaucoup de votre réponse.
    en fait, j'utilise java 4.

    j'ai fait donc le necessaire, mais j'ai tjs le meme probleme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bean=(bean) mapBean.get(id);

    un message java.lang.NullPointerException est affiché.

    de HELP

  17. #17
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    en fait, j'utilise java 4.
    Ok. Je ne mettrai plus de génériques dans mes exemples.

    Citation Envoyé par zineddine4000 Voir le message
    j'ai fait donc le necessaire,
    Fais voir.

  18. #18
    Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Ok. Je ne mettrai plus de génériques dans mes exemples.



    Fais voir.
    bonjour je te remercie de votre réponse.

    voici les partie des codes :





    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    public Classe Z {
     
    Traitement
     
      ....
    id=1;
    val1=10;
    val2=20;
    A a =new A(id, val1, val2);
     
    }
     
     
     
    public classe A implements Serializable {
     
    public static Bean b=null;
     
    public A() {}
     
     
    private Map mapBean;
     
     
    	public A (String id, String val1, String val2) 
     
    	{
     
     
     
    		Map mapBean = new HashMap();
     
    		b= new Bean();
     
     
    		b.setId(id);
    		b.setVal1(val1);
    		b.setVal2(val2);
     
    		mapBean.put(id, b);
     
     
    	}
     
     public Map getMapBean() 
    {    return mapBean;
      }
     
    }
     
     
     
    public class Bean {
     
    	private int id;
    	private String val1;
    	private String val2;
     
     
    	public int getId() {
    		return id;
    	}
    	public String getVal1() {
    		return val1;
    	}
    	public String getVal2() {
    		return val2;
    	}
     
    	public void setId(Long id) {
    		this.id = id;
    	}
    	public void setVal1(Object val1) {
    		this.val1 = val1;
    	}
    	public void setVal2(Object val2) {
    		this.val2 = val2;
    	}
     
    }
     
     
     
     
    public classe B {
     
     
    dans cette classe je fait appel la methode suivante pour recuper mes valeurs :
     
    A a=new A();
    ...
    ...
    ...
     
    Y.setMethode(object, string,id, a);
     
    }
     
     
     
    public classe Y {
     
    public  Y() {}
     
    static public void setMethode(Object object, String string,String id, A a)
    {
    ....
    Y y=new Y();
    .....
    OUT out = y.recuperation(id, a);
    .....
    }
     
    public OUT recuperation(String id, A a) 
    {
     
    Map  mapBean = a.getMapBean();
    Bean bean =(Bean) mapBean.get(id); ---------------->> ici je retourne un bean est null!!!!!
     
     
    out.setID(bean.getId());
    out.setvaleur(bean.getVal1());
    out.setvaleur(bean.getVal2());
    return out;
    }
     
     
    }

    merci d'avance.



    Bonjour,

    j'essaie de parcourer mon code, mais j'ai tjs le meme probleme.

    comment résoudre ce problème!!!

  19. #19
    Candidat au Club
    Inscrit en
    Mai 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 10
    Points : 2
    Points
    2
    Par défaut
    bonjour,

    j'essaie de parcourer mon code, mais j'ai tjs le meme probleme.

    comment résoudre ce problème!!!

    merci beaucoup

  20. #20
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Tu as laissé un constructeur par défaut dans ta classe A, ce constructeur ne fait rien et notamment n'initialise pas le bean.
    Or, c'est avec ce constructeur que tu fais new A().

    Donc le bean n'est pas initialisé. Donc il est nul.

Discussions similaires

  1. récupérer des valeurs séparées par un point virgule
    Par Spaccio dans le forum Requêtes
    Réponses: 9
    Dernier message: 10/04/2009, 11h22
  2. Récupérer des valeurs à l'aide d'une procédure stockée
    Par Contact2012 dans le forum Développement
    Réponses: 7
    Dernier message: 02/09/2008, 15h02
  3. Réponses: 14
    Dernier message: 09/07/2008, 18h58
  4. Récupérer une valeur calculée par une précédure stockée
    Par Delphi-ne dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/04/2008, 08h54
  5. Comment récupérer des valeur séparé par ; ?
    Par Nico128 dans le forum Delphi
    Réponses: 12
    Dernier message: 14/01/2007, 12h42

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