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<Contato> 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);
}
}
}
Não estou tendo muito problema para inserir , ou excluir no db, mas trazer para a tela…
com esse codigo está dando o erro
Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException
at testandoclasses.ListarContatos.montarTabela(ListarContatos.java:155)
at testandoclasses.ListarContatos.(ListarContatos.java:24)
at testandoclasses.ListarContatos$2.run(ListarContatos.java:135)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
================================
então, o que mais preciso colocar nesse código, ou onde devo concertar, alguém pode ajudar?
já agradeço desde o começo…!