Este es un proyecto de escritorio desarrollado en Java que permite realizar operaciones CRUD (Crear, Leer, Actualizar, Eliminar) sobre una tabla de personas almacenada en una base de datos MySQL. Además, ofrece funcionalidades adicionales como:
- Generación de reportes en tablas (
JTable) - Visualización de gráficos circulares 3D basados en los pesos de las personas (
JFreeChart) - Validación de campos de entrada
- Menú desplegable con opciones organizadas
- ✅ Insertar nueva persona
- 🔍 Buscar persona por ID
- 🛠️ Modificar datos de una persona
- ❌ Eliminar persona
- 📋 Mostrar reporte completo de personas en tabla
- 📊 Generar gráfico circular de distribución de pesos
| Tecnología | Propósito |
|---|---|
| Java 11+ | Lenguaje principal |
| Swing | Interfaz gráfica |
| JFreeChart | Generación de gráficos |
| JDBC | Conexión y manipulación de BD |
| MySQL | Base de datos |
/src ├── GUI/ │ ├── GUI.java # Ventana principal con menú y navegación │ ├── CONTROL/ │ ├── Validacion.java # Validaciones de campos (nombre, edad, peso) │ ├── ADO/ │ ├── Persona.java # Modelo de datos de Persona │ ├── PersonaSQL.java # Acceso a datos (CRUD + consultas) │ └── Librerías Externas:
- jfreechart-1.0.13.jar
- mysql-connector-java-x.x.x.jar
- Java 11 o superior
- MySQL instalado y corriendo
- Bibliotecas externas en el classpath:
mysql-connector-javajfreechart
Ejecuta este script SQL para crear la base de datos y la tabla necesaria:
CREATE DATABASE TAP;
USE TAP;
CREATE TABLE persona (
id INT PRIMARY KEY AUTO_INCREMENT,
nombre VARCHAR(100),
edad INT,
peso DECIMAL(5,2)
);
### 3. Configurar la Conexión
En el archivo ADO/PersonaSQL.java, ajusta las credenciales si es necesario:
String url = "jdbc:mysql://localhost/TAP";
String usuario = "root";
String password = "";
### 4. Compilar y Ejecutar
Si usas un IDE como IntelliJ IDEA o Eclipse, solo ejecuta la clase GUI.GUI.
Desde línea de comandos (si estás usando librerías externas):
javac -cp ".;lib/*" GUI/GUI.java
java -cp ".;lib/*" GUI.GUI
🧪 ### Validaciones Incluidas
Nombre: No vacío, solo letras
Edad: Número entero entre 0 y 120
Peso: Número decimal positivo
ID: Solo números enteros positivos
📦 ### Licencia
MIT License – ver el archivo LICENSE para más detalles.