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.java | Modelo de datos que representa a un cliente. |
| ConexionBD.java | Maneja la conexión a la base de datos MySQL. |
| ClienteABD.java | Lógica para la inserción del cliente en la base de datos. |
| ClienteForm.java | Proporciona 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)