Boa tarde pessoal, estou com um probleminha.
Criei a classe :
public class ContatoDAO {
private Connection connection;
public ContatoDAO() throws SQLException {
this.connection = ConnectionFactory.getConnection();
}
public List getLista() throws SQLException {
PreparedStatement stmt =
this.connection.prepareStatement("select * from contatos");
ResultSet rs = stmt.executeQuery();
List contatos = new ArrayList();
while (rs.next()) {
// criando o objeto Contato
Contato contato = new Contato();
contato.setNome(rs.getString("nome"));
contato.setEmail(rs.getString("email"));
contato.setEndereco(rs.getString("endereco"));
// adicionando o objeto à lista
contatos.add(contato);
}
rs.close();
stmt.close();
return contatos;
}
}
e em seguida criei a classe :
public class TestaListaDAO {
public static void main(String[] args) throws SQLException {
ContatoDAO dao = new ContatoDAO();
Contato contato = new Contato();
List contatos = dao.getLista();
//for (Contato contato : contatos) {
System.out.println("Nome: " + contato.getNome());
System.out.println("Email: " + contato.getEmail());
System.out.println("Endereço: " + contato.getEndereco() + "\n");
//}
}
}
Porém, qdo executo a aplicação, obtenho esse resultado:
Nome: null
Email: null
Endereço: null
Sendo que possuo dados na minha tabela do banco de dados.
Na verdade, na linha "List contatos = new ArrayList(); " eu queria ter feito assim
Mas nao foi possivel, estou usando a versao 1.4 do Jdk, sera que é por isso?
Bom, a princípio (olhando rápido) parece que não veio nada do banco. Tem dados na tabela? Os nomes das colunas são os que você usou nos rs.getString()?
public static void main(String[] args) throws SQLException {
ContatoDAO dao = new ContatoDAO();
Contato contato = new Contato(); //todos os atributos tem valor null
List contatos = dao.getLista();
//for (Contato contato : contatos) {
System.out.println("Nome: " + contato.getNome()); //essa instancia é a lá de cima Contato contato = new Contato(); com todos os atributos null
System.out.println("Email: " + contato.getEmail()); //essa instancia é a lá de cima Contato contato = new Contato(); com todos os atributos null
System.out.println("Endereço: " + contato.getEndereco() + "\n"); //essa instancia é a lá de cima Contato contato = new Contato(); com todos os atributos null
//}
}