Estou com um problema que consigo cadastrar meus clientes no BD, porém na hora de pesquisar a minha JTable não mostra nada, fica vazia e não apresenta nenhum erro nem de execução nem compilação. Segue abaixo minhas classes: OBS: Estou trabalhando com NetBeans
Classe ClienteBean/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.sisvenda.clientes;
public class ClienteBean {
private Integer codigo;
private String nome;
private String endereço;
private String bairro;
private String cidade;
private String uf;
private String cep;
private String telefone;
public Integer getCodigo() {
return codigo;
}
public void setCodigo(Integer codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEndereço() {
return endereço;
}
/**
* @param endereço the endereço to set
*/
public void setEndereço(String endereço) {
this.endereço = endereço;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public String getUf() {
return uf;
}
public void setUf(String uf) {
this.uf = uf;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.sisvenda.clientes;
import br.com.sisvenda.acessobd.AcessoMySql;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class ClienteControl {
PreparedStatement pstm;
ResultSet rs;
String consultaCliente = "SELECT * FROM clientes WHERE NOME = ?";
String cadastraCliete = "INSERT INTO clientes (NOME, ENDEREÇO, CIDADE, BAIRRO, CEP, UF, TELEFONE) VALUES (?,?,?,?,?,?,?)";
String alteraCliente = "UPDATE fclientes SET NOME = ?, ENDEREÇO = ?, CIDADE = ?, BAIRRO = ?, CEP = ?, UF = ?, TELEFONE = ? WHERE CODIGO = ?";
AcessoMySql bd = new AcessoMySql();
public void cadastrarCliente(ClienteBean cliente){
try{
AcessoMySql mysql = new AcessoMySql();
pstm = mysql.conectar().prepareStatement(cadastraCliete);
pstm.setString(1, cliente.getNome());
pstm.setString(2, cliente.getEndereço());
pstm.setString(3, cliente.getCidade());
pstm.setString(4, cliente.getBairro());
pstm.setString(6, cliente.getCep());
pstm.setString(5, cliente.getUf());
pstm.setString(7, cliente.getTelefone());
pstm.executeUpdate();
mysql.desconectar();
}catch(Exception e){
e.printStackTrace();
}
}
public List<ClienteBean> listarClientes(String nome){
List<ClienteBean> clientes;
clientes = new ArrayList();
try{
AcessoMySql mysql = new AcessoMySql();
pstm = mysql.conectar().prepareStatement(consultaCliente);
pstm.setString(1, "%" + nome + "%");
rs = pstm.executeQuery(); //consulta no banco é guardada em rs
ClienteBean cli;
while(rs.next()){
cli = new ClienteBean();
cli.setCodigo(rs.getInt("codigo"));
cli.setNome(rs.getString("nome"));
cli.setEndereço(rs.getString("endereço"));
cli.setBairro(rs.getString("bairro"));
cli.setCep(rs.getString("cep"));
cli.setCidade(rs.getString("cidade"));
cli.setTelefone(rs.getString("telefone"));
cli.setUf(rs.getString("uf"));
clientes.add(cli);
}
mysql.desconectar();
} catch(Exception e){
e.printStackTrace();
}
return clientes;
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.sisvenda;
import br.com.sisvenda.clientes.ClienteBean;
import br.com.sisvenda.clientes.ClienteControl;
import java.util.List;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
/**
*
* @author note
*/
public class Clientes extends javax.swing.JFrame {
/**
* Creates new form Clientes
*/
DefaultTableModel tmClientes = new DefaultTableModel(null, new String[]{"Código", "Nome", "Endereço", "Telefone"});
public Clientes() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
tfPesquisaCliente = new javax.swing.JTextField();
btPesquisaCliente = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
tfNome = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
tfEndereço = new javax.swing.JTextField();
tfBairro = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
tfCidade = new javax.swing.JTextField();
tfUF = new javax.swing.JTextField();
tfCEP = new javax.swing.JTextField();
tfTelefone = new javax.swing.JTextField();
jLabel7 = new javax.swing.JLabel();
btNovo = new javax.swing.JButton();
btAlterar = new javax.swing.JButton();
btCancelar = new javax.swing.JButton();
btFechar = new javax.swing.JButton();
jScrollPane2 = new javax.swing.JScrollPane();
tbClientes = new javax.swing.JTable();
btSalvar = new javax.swing.JButton();
setTitle("Clientes");
tfPesquisaCliente.setToolTipText("null");
btPesquisaCliente.setText("Pesquisar");
btPesquisaCliente.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btPesquisaClienteActionPerformed(evt);
}
});
jLabel1.setText("Nome:");
tfNome.setEditable(false);
tfNome.setToolTipText("null");
jLabel2.setText("Endereço:");
tfEndereço.setEditable(false);
tfBairro.setEditable(false);
jLabel3.setText("Bairro:");
jLabel4.setText("Cidade:");
jLabel5.setText("UF:");
jLabel6.setText("CEP:");
tfCidade.setEditable(false);
tfUF.setEditable(false);
tfUF.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
tfUFActionPerformed(evt);
}
});
tfCEP.setEditable(false);
tfTelefone.setEditable(false);
jLabel7.setText("Teleofne:");
btNovo.setText("Novo");
btNovo.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btNovoActionPerformed(evt);
}
});
btAlterar.setText("Alterar");
btCancelar.setText("Cancelar");
btFechar.setText("Fechar");
btFechar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btFecharActionPerformed(evt);
}
});
tbClientes.setModel(tmClientes);
jScrollPane2.setViewportView(tbClientes);
btSalvar.setText("Salvar");
btSalvar.setEnabled(false);
btSalvar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btSalvarActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(tfNome)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addComponent(tfEndereço, javax.swing.GroupLayout.PREFERRED_SIZE, 237, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tfBairro))
.addGroup(layout.createSequentialGroup()
.addComponent(tfCidade, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(tfUF, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tfCEP, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tfTelefone))
.addGroup(layout.createSequentialGroup()
.addComponent(tfPesquisaCliente)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btPesquisaCliente))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(btNovo)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(btSalvar, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btAlterar)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btCancelar, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btFechar))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel4)
.addGap(83, 83, 83)
.addComponent(jLabel5)
.addGap(35, 35, 35)
.addComponent(jLabel6))
.addComponent(jLabel2))
.addGap(48, 48, 48)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel3)
.addGroup(layout.createSequentialGroup()
.addGap(12, 12, 12)
.addComponent(jLabel7)))))
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {btAlterar, btCancelar, btFechar, btNovo, btPesquisaCliente, btSalvar});
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tfPesquisaCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btPesquisaCliente))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tfNome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jLabel3))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tfEndereço, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tfBairro, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel4)
.addComponent(jLabel5)
.addComponent(jLabel6)
.addComponent(jLabel7))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tfCidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tfUF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tfCEP, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tfTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btNovo)
.addComponent(btAlterar)
.addComponent(btCancelar)
.addComponent(btFechar)
.addComponent(btSalvar))
.addContainerGap(22, Short.MAX_VALUE))
);
layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {btAlterar, btCancelar, btFechar, btNovo, btPesquisaCliente});
pack();
}// </editor-fold>
private void tfUFActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void btFecharActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void listarClientes() {
ClienteControl cli = new ClienteControl();
List<ClienteBean> clientes = cli.listarClientes("%" + tfPesquisaCliente.getText().trim() + "%");
mostrarClientes(clientes);
}
private void mostrarClientes(List<ClienteBean> clientes) {
if (clientes.size() > 0) {
JOptionPane.showMessageDialog(this, "Nenhum cliente encontrado");
} else {
while (tmClientes.getRowCount() > 0) {
tmClientes.removeRow(0);
}
String[] campos = new String[4];//{null, null, null, null};
for (int i = 0; i < clientes.size(); i++) {
tmClientes.addRow(campos);
tmClientes.setValueAt(clientes.get(i).getCodigo(), i, 0);
tmClientes.setValueAt(clientes.get(i).getNome(), i, 1);
tmClientes.setValueAt(clientes.get(i).getEndereço(), i, 2);
tmClientes.setValueAt(clientes.get(i).getTelefone(), i, 3);
}
}
}
private void btPesquisaClienteActionPerformed(java.awt.event.ActionEvent evt) {
listarClientes();
}
private void novoCliente() {
habilitarCampos();
tfNome.setText("");
tfEndereço.setText("");
tfBairro.setText("");
tfCidade.setText("");
tfCEP.setText("");
tfUF.setText("");
tfTelefone.setText("");
}
private void cadastraCliente(){
if (verificarCampos()) {
ClienteBean cliente = new ClienteBean();
cliente.setNome(tfNome.getText().trim());
cliente.setEndereço(tfEndereço.getText().trim());
cliente.setBairro(tfBairro.getText().trim());
cliente.setCidade(tfCidade.getText().trim());
cliente.setCep(tfCEP.getText().trim());
cliente.setUf(tfUF.getText().trim());
cliente.setTelefone(tfTelefone.getText().trim());
ClienteControl c = new ClienteControl();
c.cadastrarCliente(cliente);
desabilitarCampos();
}
}
private boolean verificarCampos() {
if (!tfNome.getText().trim().equals("")) {
return true;
}
return false;
}
private void desabilitarCampos() {
tfNome.setEditable(false);
tfEndereço.setEditable(false);
tfBairro.setEditable(false);
tfCidade.setEditable(false);
tfCEP.setEditable(false);
tfUF.setEditable(false);
tfTelefone.setEditable(false);
btSalvar.setEnabled(false);
}
private void habilitarCampos() {
tfNome.setEditable(true);
tfEndereço.setEditable(true);
tfBairro.setEditable(true);
tfCidade.setEditable(true);
tfCEP.setEditable(true);
tfUF.setEditable(true);
tfTelefone.setEditable(true);
btSalvar.setEnabled(true);
}
private void btNovoActionPerformed(java.awt.event.ActionEvent evt) {
novoCliente();
}
private void btSalvarActionPerformed(java.awt.event.ActionEvent evt) {
cadastraCliente();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(Clientes.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(Clientes.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(Clientes.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(Clientes.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Clientes().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btAlterar;
private javax.swing.JButton btCancelar;
private javax.swing.JButton btFechar;
private javax.swing.JButton btNovo;
private javax.swing.JButton btPesquisaCliente;
private javax.swing.JButton btSalvar;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTable tbClientes;
private javax.swing.JTextField tfBairro;
private javax.swing.JTextField tfCEP;
private javax.swing.JTextField tfCidade;
private javax.swing.JTextField tfEndereço;
private javax.swing.JTextField tfNome;
private javax.swing.JTextField tfPesquisaCliente;
private javax.swing.JTextField tfTelefone;
private javax.swing.JTextField tfUF;
// End of variables declaration
}