olá pessoal.
Eu estou refazendo uma aplicação que exibe dados do banco em uma JTable.
mas dessa vez, ao adicionar os objetos do Tipo ‘Usuario’ em uma List, essa List fica com os objetos ‘Usuario’ todos iguais
ao último deles inserido, ele se repete.
Ex:
na JTable aparecia:
1 Joao
2 Jose
3 Ana
4 Maria
ao invés disso aparece:
4 Maria
4 Maria
4 Maria
4 Maria
aqui abaixo o trecho onde eu adiciono os dados do banco na List:
PreparedStatement st = conn.prepareStatement("select * from usuario");
ResultSet rs = st.executeQuery();
List<Usuario> userlist = new ArrayList<Usuario>();
while (rs.next()){
Usuario user = new Usuario();
user.setId(rs.getInt("USU_ID"));
user.setNome(rs.getString("USU_NOME"));
user.setTitulo(rs.getString("USU_TITULO"));
userlist.add(user);
};
return userlist;
Sendo que se eu pegar os itens dessa List com o código abaixo, os objetos nela possuem os atributos iguais:
Alguém já teve o mesmo problema? eu sei que muitos usam esse código que eu uso.
o meu ‘Usuario’ é uma classe, e eu uso um ‘usuarioTableModel’ criado por mim, mas creio
que o problema esteja no List.
Posta a sua classe usuarioTableModel por que a principio o jeito que vc esta pegando os dados do banco dados via jdbc esta verto, talvez seja a clase usuarioTableModel
Não sei o que esta havendo mas, a sua lista é como se vc tivesse inserrido duas vezes o mesmo kra mas naum foi isso que vc fez, gerealmente essas loguragens acontece quando usa uma unica variavel para atribuir coisas em uma lista, e so ua sinal de igual isso faz com o que seja copiado para a variavel nova so a posicao de memoria, ai da essas loguragens mas sinceramente no seu caso naum sei o que pode ser.
então, no trrecho que postei por último
não faz diferença mostrar Id ou o Nome do Objeto, pq eu não trouxe eles do Banco,
eu setei os Obj manualmente na List.
@kapa01
interessante a List estar certa com vc,
o código que vc executou não traz do Banco,
vc está colocando manualmente os Nomes “User0” e “User1” na List,
mas quando eu dou um get() na List ela só tem valores iguais ao “User1”.
será que é algum Alien possuindo o PC?
vlw pela atençao pessoal.