Para começar, olá a todos!
sou iniciantes em java e em meus estudos me deparei com um certo problema a listar dados do db em uma tabela java.
meu codigo está assim:
Classe contato (id, nome, telefone, email);
ContatoDAO
package testandoclasses;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
public class ContatoDAO {
private Connection con;
PreparedStatement stmt;
ResultSet rs;
public ContatoDAO(){
con = new FabricaDeConexoes().getConnection();
}
public ArrayList listarContatos() throws SQLException{
String sql = “select * from contato”;
stmt = con.prepareStatement(sql);
rs = stmt.executeQuery();
ArrayList<Contato> contatos = new ArrayList<Contato>();
if(rs.next()){
Contato contato = new Contato();
contato.setId(rs.getInt("id"));
contato.setNome(rs.getString("nome"));
contato.setTelefone(rs.getString("telefone"));
contato.setEmail(rs.getString("email"));
contatos.add(contato);
}
return contatos;
}
}
================================
e minha interface tem um metodo mostrarTabela
Construtor(
public ListarContatos() {
initComponents();
iniciarDB() ;
montarTabela();
}
private void iniciarDB() {
contatoDao = new ContatoDAO();
}
)
//omitidos
…
private ContatoDAO contatoDao;
private Contato contato;
private void montarTabela(){
try {
ArrayList contatos = contatoDao.listarContatos();
int linha = 0;
for(Contato contato : contatos){
int id = contato.getId();
String nome = contato.getNome();
String telefone = contato.getTelefone();
String email = contato.getEmail();
tblContatos.getModel().setValueAt(id, linha, 0);
tblContatos.getModel().setValueAt(nome, linha, 1);
tblContatos.getModel().setValueAt(telefone, linha, 2);
tblContatos.getModel().setValueAt(email, linha, 3);
linha++;
}
} catch (SQLException ex) {
Logger.getLogger(ListarContatos.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
embora não esteja dando erro, só está mostrando o primeiro registro do banco de dados…