Meus Registro nao cadastra na minha base de dados

Java

02/12/2016

bom dia galera.

estou com uma duvida e não sei o que estou fazendo de errado, eu sou novo no mundo java rsrsr. mais enfim, to fazendo um projeto de faculdade.
e a ideia do projeto seria um sistema de cadastro de cliente.
eu já montei meu sistema com uma interface gráfica, porem quando eu coloco os dados no sistema e executo para que pegue as info no base de dados.
só registra o ID.

se alguém tiver alguma solução eu agradeço.

aqui esta minha classe principal

package gui;

    import modelo.Usuario; 
    import dao.UsuarioDAO;
    import javax.swing.JOptionPane;

public class UsuarioGUI extends javax.swing.JFrame {

   
    public UsuarioGUI() {
        initComponents();
    }

     @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        jLabel1 = new javax.swing.JLabel();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();
        jTextField1 = new javax.swing.JTextField();
        jTextField2 = new javax.swing.JTextField();
        jTextField3 = new javax.swing.JTextField();
        jTextField4 = new javax.swing.JTextField();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jLabel6 = new javax.swing.JLabel();
        jLabel7 = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Sistema Connect Wave");

        jLabel1.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
        jLabel1.setText("SISTEMA DE CADASTRO");
        jLabel1.setBorder(javax.swing.BorderFactory.createCompoundBorder(null, javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0), 5)));

        jButton1.setText("CADASTRAR");
        jButton1.setName("UsuarioGUI"); // NOI18N
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        jButton2.setText("LIMPAR");
        jButton2.setName("UsuarioGUI"); // NOI18N
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        jButton3.setText("SAIR");
        jButton3.setName("UsuarioGUI"); // NOI18N
        jButton3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton3ActionPerformed(evt);
            }
        });

        jTextField1.setName("UsuarioGUI"); // NOI18N

        jTextField2.setName("UsuarioGUI"); // NOI18N

        jTextField3.setName("UsuarioGUI"); // NOI18N

        jTextField4.setName("UsuarioGUI"); // NOI18N

        jLabel2.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
        jLabel2.setText("CADASTRAR NOVO CLIENTE");

        jLabel3.setText("NOME");

        jLabel4.setText("CPF");

        jLabel5.setText("EMAIL");

        jLabel6.setText("RENDA FAMILIAR");

        jLabel7.setText("Connect Wave - 2016");
        jLabel7.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED, null, new java.awt.Color(0, 0, 0), null, null));

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(70, 70, 70)
                        .addComponent(jLabel1))
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jLabel2))
                    .addGroup(layout.createSequentialGroup()
                        .addGap(148, 148, 148)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabel7)
                            .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap(79, Short.MAX_VALUE))
            .addGroup(layout.createSequentialGroup()
                .addGap(57, 57, 57)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jButton1)
                    .addComponent(jLabel3)
                    .addComponent(jLabel4)
                    .addComponent(jLabel5)
                    .addComponent(jLabel6))
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(18, 18, 18)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(jTextField1)
                            .addComponent(jTextField2)
                            .addComponent(jTextField3)
                            .addComponent(jTextField4, javax.swing.GroupLayout.DEFAULT_SIZE, 132, Short.MAX_VALUE))
                        .addGap(0, 0, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(48, 48, 48))))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(jLabel1)
                .addGap(18, 18, 18)
                .addComponent(jLabel2)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGap(30, 30, 30)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jLabel3)
                            .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel4))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(jLabel5))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELI
Lucas Silva

Lucas Silva

Curtidas 0

Respostas

Lucas Silva

Lucas Silva

02/12/2016

aqui é minha classe usuario

package modelo; 
public class Usuario {     
    Long id;     
    String nome;     
    String cpf;    
    String email;    
    String renda;     
    
        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 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 getRenda() {     
            return renda;     }     
        
        public void setRenda(String renda) {     
            this.renda = renda;     }
}

GOSTEI 0
Lucas Silva

Lucas Silva

02/12/2016

essa é minha classe UsuarioDAO

package dao; 
import factory.ConnectionFactory; 
import modelo.Usuario;
import java.sql.*; 
import java.sql.PreparedStatement; 
public class UsuarioDAO {    
    
    private final Connection connection;   
    
    Long id;    
    String nome;   
    String cpf;   
    String email;    
    String renda;     
    
    public UsuarioDAO(){    
        this.connection = new ConnectionFactory().getConnection();     
    }     
    
    public void adiciona(Usuario usuario){     
        String sql; 
        sql = "INSERT INTO usuario(nome,cpf,email,renda) VALUES(?,?,?,?)";
        try {       
            PreparedStatement stmt = connection.prepareStatement(sql); 
            stmt.setString(1, usuario.getNome()); 
            stmt.setString(2, usuario.getCpf());       
            stmt.setString(3, usuario.getEmail());  
            stmt.setString(4, usuario.getRenda());
            stmt.execute();          
            stmt.close(); 
        } 
        
        catch (SQLException u) { 
            throw new RuntimeException(u);         
        }     
    }
}

GOSTEI 0
Jones Granatyr

Jones Granatyr

02/12/2016

Opa! Sugiro colocar um break point no seu método adiciona e verificar se todos os campos do objeto "usuario" estão preenchidos. Em qual parte do código você está associando os valores que estão nos componentes visuais e jogando eles para o objeto usuario?
GOSTEI 0
Lucas Silva

Lucas Silva

02/12/2016

aqui esta o final do codigo da classe principal Usuario Dao

.addComponent(jButton2)
                            .addComponent(jButton1))
                        .addGap(79, 79, 79)))
                .addComponent(jLabel7))
        );

        pack();
    }// </editor-fold>                        

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        jTextField1.setText(""); 
        jTextField2.setText(""); 
        jTextField3.setText(""); 
        jTextField4.setText("");         
    }                                        

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        Usuario usuarios = new Usuario(); 
        usuarios.setNome(jTextField1.getText()); 
            usuarios.setCpf(jTextField2.getText()); 
                usuarios.setEmail(jTextField3.getText());
                    usuarios.setRenda(jTextField4.getText());

        
          if ((jTextField1.getText().isEmpty()) || 
                  (jTextField2.getText().isEmpty()) || 
                    (jTextField3.getText().isEmpty()) || 
                        (jTextField4.getText().isEmpty())) {    
              JOptionPane.showMessageDialog(null, "Todos os Campos Devem ser Preenchidos!!!");
          } else  { 
        UsuarioDAO dao = new UsuarioDAO();  Usuario usuario;
            usuario = new Usuario();
        dao.adiciona(usuario); 
              JOptionPane.showMessageDialog(null, "Usuario "+jTextField1.getText()+"Cadastro inserido com sucesso!");     


          }
          
          // apaga os dados preenchidos nos campos de texto 
          
          jTextField1.setText(""); 
          jTextField2.setText(""); 
          jTextField3.setText(""); 
          jTextField4.setText("");       
    }                                        

    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            
        System.exit(0);         
    }                                        

   
    public static void main(String args[]) {
        
        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 | InstantiationException | IllegalAccessException | javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(UsuarioGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        
        java.awt.EventQueue.invokeLater(() -> {
            new UsuarioGUI().setVisible(true);
        });
    }

    // Variables declaration - do not modify                     
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    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.JTextField jTextField1;
    private javax.swing.JTextField jTextField2;
    private javax.swing.JTextField jTextField3;
    private javax.swing.JTextField jTextField4;
    // End of variables declaration                   
}
GOSTEI 0
Lucas Silva

Lucas Silva

02/12/2016

galera consegui resolver o meu problema. eu pude observar melhor meu codigo. e notei que nao tinha chamado o objeto que tinha criado
para minha textfield, eu estava chamando o objeto "usuario" ao inves de chama lo o objeto que tinha criado que na realidade é "usuarios"

de qual quer forma obrigado.
GOSTEI 0
POSTAR