Sou iniciante, e estou quebrando a cabeça com isto faz uns 3 dias:
não estou conseguindo fazer a inserção no bd, retorna que o “nome” está “nulo”, mas não vejo onde estou errando, alguem pode me ajudar?
‘’'package cadastro.entidades;
public class Cliente {
private Long id;
private String nome;
private String cpf;
private String email;
private String telefone;
private String endereco;
public Cliente() {
}
public Cliente(Long id, String nome, String cpf, String email, String telefone, String endereco) {
this.id = id;
this.nome = nome;
this.cpf = cpf;
this.email = email;
this.telefone = telefone;
this.endereco = endereco;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
}’’’
‘’'package cadastro.dao;
import cadastro.conexao.ConnectionFactory;
import cadastro.entidades.Cliente;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class ClienteDao {
private Connection connection;
public ClienteDao(){
this.connection = new ConnectionFactory().getConnection();
}
public void adicionar(Cliente cliente){
String sql = "INSERT INTO cliente (nome, cpf, email, telefone, endereco) VALUES (?, ?, ? ,? ,?)";
try{
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1, cliente.getNome());
stmt.setString(2, cliente.getCpf());
stmt.setString(3, cliente.getEmail());
stmt.setString(4, cliente.getTelefone());
stmt.setString(5, cliente.getEndereco());
stmt.execute();
stmt.close();
}
catch(SQLException e){
throw new RuntimeException(e);
}
}
}’’’
‘’'package cadastro.telas;
import cadastro.dao.ClienteDao;
import cadastro.entidades.Cliente;
public class TelaCadastroJfrm extends javax.swing.JFrame {
public TelaCadastroJfrm() {
initComponents();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
btnCadastrar = new javax.swing.JButton();
lblNome = new javax.swing.JLabel();
lblCpf = new javax.swing.JLabel();
jScrollPane2 = new javax.swing.JScrollPane();
txtCpf = new javax.swing.JTextPane();
lblEmail = new javax.swing.JLabel();
jScrollPane3 = new javax.swing.JScrollPane();
txtEmail = new javax.swing.JTextPane();
lblTelefone = new javax.swing.JLabel();
jScrollPane4 = new javax.swing.JScrollPane();
txtTelefone = new javax.swing.JTextPane();
lblEndereco = new javax.swing.JLabel();
jScrollPane5 = new javax.swing.JScrollPane();
txtEndereco = new javax.swing.JTextPane();
jScrollPane6 = new javax.swing.JScrollPane();
txtNome = new javax.swing.JTextPane();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setMaximumSize(new java.awt.Dimension(900, 600));
setMinimumSize(new java.awt.Dimension(900, 600));
setPreferredSize(new java.awt.Dimension(900, 600));
setResizable(false);
btnCadastrar.setText("CADASTRAR");
btnCadastrar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnCadastrarActionPerformed(evt);
}
});
lblNome.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblNome.setText("NOME");
lblCpf.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblCpf.setText("CPF");
jScrollPane2.setViewportView(txtCpf);
lblEmail.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblEmail.setText("EMAIL");
jScrollPane3.setViewportView(txtEmail);
lblTelefone.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblTelefone.setText("TELEFONE");
jScrollPane4.setViewportView(txtTelefone);
lblEndereco.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblEndereco.setText("ENDERECO");
jScrollPane5.setViewportView(txtEndereco);
jScrollPane6.setViewportView(txtNome);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(31, 31, 31)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(lblEndereco, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 83, Short.MAX_VALUE)
.addComponent(btnCadastrar, javax.swing.GroupLayout.PREFERRED_SIZE, 167, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(38, 38, 38))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addComponent(lblTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(lblEmail, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addGroup(layout.createSequentialGroup()
.addComponent(lblCpf, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 224, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addComponent(lblNome, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane6)))))
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(137, 137, 137)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(lblNome, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jScrollPane6, javax.swing.GroupLayout.DEFAULT_SIZE, 27, Short.MAX_VALUE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jScrollPane2)
.addComponent(lblCpf, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jScrollPane3)
.addComponent(lblEmail, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jScrollPane4)
.addComponent(lblTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 19, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(btnCadastrar, javax.swing.GroupLayout.PREFERRED_SIZE, 104, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jScrollPane5)
.addComponent(lblEndereco, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(61, 61, 61))
);
lblNome.getAccessibleContext().setAccessibleName("Nome");
pack();
}// </editor-fold>
private void btnCadastrarActionPerformed(java.awt.event.ActionEvent evt) {
Cliente cliente = new Cliente();
if (btnCadastrar.isSelected())
{
cliente.setNome(txtNome.getText());
cliente.setCpf(txtCpf.getText());
cliente.setEmail(txtEmail.getText());
cliente.setTelefone(txtTelefone.getText());
cliente.setEndereco(txtEndereco.getText());
}
new ClienteDao().adicionar(cliente);
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new TelaCadastroJfrm().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btnCadastrar;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JScrollPane jScrollPane3;
private javax.swing.JScrollPane jScrollPane4;
private javax.swing.JScrollPane jScrollPane5;
private javax.swing.JScrollPane jScrollPane6;
private javax.swing.JLabel lblCpf;
private javax.swing.JLabel lblEmail;
private javax.swing.JLabel lblEndereco;
private javax.swing.JLabel lblNome;
private javax.swing.JLabel lblTelefone;
private javax.swing.JTextPane txtCpf;
private javax.swing.JTextPane txtEmail;
private javax.swing.JTextPane txtEndereco;
private javax.swing.JTextPane txtNome;
private javax.swing.JTextPane txtTelefone;
// End of variables declaration
}’’’
o programa deve pegar os dados e gravar no banco ao clicar no btnCadastrar.
Agradeço desde já!