2017-09-27 11 views
-2

Je suis nouveau dans des objets Java et ma question est la suivante:Chargement d'un objet avec getter et setter

  • J'ai la personne de classe
  • Je crée un nouvel objet person5
  • J'installe l'ID à 5
  • maintenant, je veux que mes person5 d'objets sont toutes les informations de la personne avec l'ID 5 a, sont l'objet person5
  • Alors je veux l'âge de la person5

Lorsque j'ai débogué mon code seul l'ID a été défini à 5 toutes les autres variables étaient nulles.

Person person5 = new Person(); 
person5.setID(5); 
person5.getAge(); 


@Id @Column(name = "ID") 
private Integer id; 

@Column(name = "AGE") 
private Integer age; 

public Integer getId() { 
return id; 
} 

public void setId(Integer id) { 
this.id = id; 
} 

public Integer getAge() { 
return age; 
} 

public void setAge(Integer age) { 
this.age = age; 
} 

Qu'est-ce que je fais mal? Quelqu'un peut-il m'aider?

+0

ne voulez-vous pour récupérer des informations base de données? –

+0

oui l'information provient d'une base de données – LuMi

+2

Ah. Donc, vous devez en apprendre davantage sur JDBC et/ou JPA. C'est beaucoup trop large.Trouver un tutoriel et lire. –

Répondre

0
Person person5 = new Person(); 

Vous avez créé une nouvelle personne

person5.setID(5); 

Vous avez décidé que l'ID de la personne nouvellement créée sera 5.

person5.getAge(); 

Puisque vous ne l'avez pas dit explicitement Java changer l'âge de la personne à partir de ce qui a été fixé par le constructeur, il vous dira ce qu'il a été dit, qui est rien.

Maintenant, je veux que mes person5 d'objets sont toutes les informations de la personne avec l'ID 5 a, est dans l'objet person5

À ce stade, Java ne sait rien dont person5 vous parlez . Si vous voulez qu'il ait tous les attributs d'une personne similaire, vous devrez indiquer à Java soit de définir tous ces attributs dans votre objet ou en créer un nouveau en utilisant des valeurs (à partir de DB vraisemblablement).

Il est préférable de lever les doutes sur les OOPS avant d'entrer dans des concepts plus profonds tels que la connectivité DB.

0
  1. Vous ne montrez-nous votre getter et la fonction setter
  2. remplacer votre code avec Person person5 = new Person(); person5.setID(5); person5.getAge();
  3. vous na pas définir un âge pour la personne. ni dans le constructeur, ni comme person5.setAge(X)

cette question est très commune et vous devriez visiter quelques pages de tutoriel. stackoverflow n'en est pas un.

0

Semble que vous utilisez JPA. Ensuite, la bonne façon de récupérer les informations de la base de données ne sont pas simplement nouvelle-ment un objet et réglage de l'identifiant, vous devez chercher dans la base de données, par EntityManager:

final Person person5 = em.find(Person.class, 5);