Un sistema de gestión de estudiantes en Java con conexión a base de datos.
SistemaEstudiantes es una aplicación Java que permite gestionar la información de estudiantes mediante una interfaz de consola.
Incluye operaciones CRUD (Crear, Leer, Actualizar y Eliminar) conectadas a una base de datos relacional.
Este proyecto combina Java puro con JDBC (Java Database Connectivity), demostrando el patrón de diseño MVC (Modelo - Vista - Controlador) y una separación clara de capas.
El sistema utiliza una base de datos MySQL (puede adaptarse fácilmente a otras, como PostgreSQL).
A través de JDBC, se realiza la conexión, ejecución de consultas SQL y manejo de transacciones.
📘 Estructura de la base de datos:
CREATE DATABASE sistema_estudiantes;
USE sistema_estudiantes;
CREATE TABLE estudiantes ( id_estudiante INT AUTO_INCREMENT PRIMARY KEY, nombre VARCHAR(100) NOT NULL, apellido VARCHAR(100) NOT NULL, email VARCHAR(100), telefono VARCHAR(15)
Conecta con la base de datos usando JDBC.
Contiene las operaciones CRUD sobre la tabla estudiantes.
Usa PreparedStatements para prevenir inyecciones SQL.
Asegúrate de editar los parámetros de conexión según tu entorno en la clase de configuración:
private static final String URL = "jdbc:mysql://localhost:3306/sistema_estudiantes"; private static final String USER = "root"; private static final String PASSWORD = "tu_contraseña";
-
Conexión directa a base de datos MySQL mediante JDBC.
-
CRUD completo para estudiantes (crear, listar, actualizar y eliminar).
-
Validación de datos y manejo de excepciones.
-
Arquitectura por capas: Modelo, DAO, Servicio, UI.
-
Modularidad y reutilización del código.
-
Facilidad para migrar a otros motores de base de datos.
Lenguaje: Java (versión 8 o superior)
Base de datos: MySQL
Librerías: JDBC
IDE recomendado: IntelliJ IDEA, Eclipse o NetBeans
Sistema operativo: Multiplataforma (Windows, macOS, Linux)
Al iniciar el programa, se mostrará un menú con opciones:
-
Agregar Estudiante
-
Listar Estudiantes
-
Modificar Estudiante
-
Eliminar Estudiante
-
Salir
Elige la opción escribiendo el número correspondiente y pulsa Enter.
Introduce los datos solicitados (nombre, apellido, email, teléfono).
Las operaciones se reflejan directamente en la base de datos.
SistemaEstudiantes/
│
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ ├── dominio/ ← Clases del modelo (Estudiante.java)
│ │ │ ├── datos/ ← Clases DAO (manejo de base de datos)
│ │ │ ├── servicio/ ← Lógica de negocio (CRUD, validaciones)
│ │ │ └── presentacion/ ← Interfaz de usuario (consola)
│ │ └── resources/ ← Configuración (parámetros de conexión, SQL)
│ └── test/ ← Pruebas unitarias
│
├── pom.xml / build.gradle ← Archivo de construcción (si aplica)
└── README.md ← Este archivo
Las contribuciones son bienvenidas. Si deseas mejorar la aplicación, por favor sigue estos pasos:
- Realiza un fork de este repositorio
- Crea una nueva rama (git checkout -b feature/nueva-caracteristica).
- Realiza tus cambios y haz commit de ellos (git commit -am 'Añadir nueva característica').
- Sube tus cambios a tu fork (git push origin feature/nueva-caracteristica).
- Abre un pull request describiendo tus cambios.
✔ Validaciones más robustas: evitar datos vacíos o valores inválidos
✔ Mejorar la persistencia: integrar base de datos real (MySQL, SQLite)
✔ Interfaz gráfica: añadir GUI con Swing o JavaFX
✔ Filtros de búsqueda: por nombre, apellido o edad
✔ Exportar/Importar datos: permitir JSON o CSV
✔ Registro de actividad: guardar historial de operaciones realizadas
✔ Manejo de errores y logs: implementar logging con Java Logger o Log4j
✔ Tests unitarios: aumentar cobertura de pruebas para la lógica de negocio
✔ Internacionalización: permitir múltiples idiomas en la UI
✔ Documentación del código: Javadoc completo para clases y métodos
Este proyecto está bajo la licencia MIT.
Autor: Ana Jotta
Repositorio principal: Java
Correo / redes: