Meus Registro nao cadastra na minha base de dados

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.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                   

}

essa é 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;     }

}

e 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);         
    }     
}

}

Identifiquei aqui no metodo jButton1ActionPerformed , que provavelmente é o seu botão de salvar/incluir, que você cria um objeto Usuario com nome de “usuarios” , preenche ele com os dados dos jTextFields, más na hora de incluir no banco , voce cria um novo objeto Usuario com o nome de “usuario” , e incluir este segundo , que na verdade está vazio , pois os dados foram salvos no objeto com nome de “usuarios”.

neste caso você deveria incluir o objeto usuarios, e não o usuario.

Não estou em um ambiente que possa testar o seu codigo , más aparentemente o problema é apenas este.

Bruno_Pinheiro obrigado pela resposta. so para entender melhor o que vc quis dizer…

eu tenho que alterar no meu botao que é o de cadastrar nessa parte do codigo

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!");     


      }

essa e a parte que voce diz ?

Bruno_Pinheiro. obrigado por notar agora eu percebi onde eu estava errando.
eu realmente nao tinha chamado o objeto “usuarios” eu fiz o teste aqui e funcionou.

obrigado pela ajuda.