Bienvenido a la Práctica

Por favor, ingresa tus datos para comenzar.

Tu Avance

0%
  • 1. Base de Datos
  • 2. Clase Cliente
  • 3. ConexionBD
  • 4. ClienteABD
  • 5. ClienteForm
  • 6. Resumen

1. Desarrolla el siguiente script en PHPMyAdmin

Crea la base de datos y la tabla necesaria para los clientes.

CREATE DATABASE miBD;
USE miBD;

CREATE TABLE Clientes (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nombre VARCHAR(50) NOT NULL,
    apellido VARCHAR(50) NOT NULL,
    telefono VARCHAR(20),
    email VARCHAR(100)
);

2. Crea la clase Cliente

Usando algún IDE para programar en JAVA, crea una clase llamada Cliente. Esta clase servirá para obtener e inicializar los datos del Cliente.

public class Cliente {
    private int id;
    private String nombre;
    private String apellido;
    private String telefono;
    private String email;

    // Constructor
    public Cliente (String nombre, String apellido, String telefono, String email) {
        this.nombre = nombre;
        this.apellido = apellido;
        this.telefono = telefono;
        this.email = email;
    }

    // Los Gets
    public String getNombre() { return nombre; }
    public String getApellido() { return apellido; }
    public String getTelefono() { return telefono; }
    public String getEmail() { return email; }
}

3. Crea la clase ConexionBD

En el mismo IDE de JAVA, crea esta clase para realizar la conexión con la base de datos.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConexionBD {
    private static final String URL = "jdbc:mysql://localhost:3306/miBD";
    private static final String USUARIO = "root";
    private static final String CLAVE = "";

    public static Connection conectar() throws SQLException {
        return DriverManager.getConnection(URL, USUARIO, CLAVE);
    }
}

4. Crea la clase ClienteABD

Esta clase envía los datos del cliente a la base de datos. Observa que se utiliza la sentencia SQL: INSERT INTO.

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class ClienteABD {
    public void registrarCliente(Cliente cliente) {
        String sql = "INSERT INTO Clientes (nombre, apellido, telefono, email) VALUES (?, ?, ?, ?)";
        try (Connection conn = ConexionBD.conectar();
             PreparedStatement stmt = conn.prepareStatement(sql)) {
            
            stmt.setString(1, cliente.getNombre());
            stmt.setString(2, cliente.getApellido());
            stmt.setString(3, cliente.getTelefono());
            stmt.setString(4, cliente.getEmail());
            stmt.executeUpdate();
            System.out.println("Cliente registrado exitosamente.");
            
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

5. Crea la clase ClienteForm

Esta clase servirá para crear una interfaz gráfica que te permite obtener de forma visual los datos del cliente. Practica modificando el diseño.


import javax.swing.*;
import java.awt.event.*;

public class ClienteForm extends JFrame {
    private JTextField txtNombre, txtApellido, txtTelefono, txtEmail;
    private JButton btnGuardar;

    public ClienteForm() {
        setTitle("Registro de Cliente");
        setSize(300, 250);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(null);

        JLabel lblNombre = new JLabel("Nombre:");
        lblNombre.setBounds(10, 10, 80, 25);
        add(lblNombre);

        txtNombre = new JTextField();
        txtNombre.setBounds(100, 10, 160, 25);
        add(txtNombre);

        JLabel lblApellido = new JLabel("Apellido:");
        lblApellido.setBounds(10, 40, 80, 25);
        add(lblApellido);

        txtApellido = new JTextField();
        txtApellido.setBounds(100, 40, 160, 25);
        add(txtApellido);

        JLabel lblTelefono = new JLabel("Teléfono:");
        lblTelefono.setBounds(10, 70, 80, 25);
        add(lblTelefono);

        txtTelefono = new JTextField();
        txtTelefono.setBounds(100, 70, 160, 25);
        add(txtTelefono);

        JLabel lblEmail = new JLabel("Email:");
        lblEmail.setBounds(10, 100, 80, 25);
        add(lblEmail);

        txtEmail = new JTextField();
        txtEmail.setBounds(100, 100, 160, 25);
        add(txtEmail);

        btnGuardar = new JButton("Guardar");
        btnGuardar.setBounds(100, 140, 100, 25);
        add(btnGuardar);

        btnGuardar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                Cliente cliente = new Cliente(
                    txtNombre.getText(),
                    txtApellido.getText(),
                    txtTelefono.getText(),
                    txtEmail.getText()
                );
                ClienteABD dao = new ClienteABD();
                dao.registrarCliente(cliente);
                JOptionPane.showMessageDialog(null, "Cliente guardado.");
            }
        });
        setVisible(true);
    }

    public static void main(String[] args) {
        new ClienteForm();
    }
}

Funcionalidad de cada Clase

Archivo Descripción
Cliente.javaModelo de datos que representa a un cliente.
ConexionBD.javaManeja la conexión a la base de datos MySQL.
ClienteABD.javaLógica para la inserción del cliente en la base de datos.
ClienteForm.javaProporciona la interfaz gráfica para ingresar los datos.

Importante: Configuración de Librerías o Dependencias

Dependiendo de tu versión de Netbeans, para que el IDE haga la conexión con MySQL, es necesario cargar el archivo mysql-connector-j-9.7.0, a la carpeta de librerías del proyecto (versiones Netbeans anteriores) o a la carpeta dependencias (versiones Netbeans 29)

Reflexiones

ⓒ Copyright EduCer, Dr. Niels Henryk Aranda Cuevas