Перейти к содержимому

12SPRINGBOOT+MYSQL RESTAURANT LDADEV

LDA DEV

0:00 / 0:00

12SPRINGBOOT+MYSQL RESTAURANT LDADEV

10 просмотров · 7 дней назад
LDA DEV
12 подписчиков
10 просмотров · 7 дней назад
🚀 EJERCICIO #12 — RESTAURANTE - RESERVA 🚀 Java + Spring Boot + MySQL | JPA, Hibernate, EntityManager y JPQL En este ejercicio desarrollamos un módulo de reservas para un restaurante que anteriormente gestionaba sus reservas en una libreta física y tuvo problemas con reservas duplicadas. Implementaremos el registro, consulta y listado de reservas, además de actualizar masivamente el estado de las reservas de una fecha y eliminar automáticamente las reservas canceladas. ⏱️ CAPÍTULOS 00:00 Introducción + Creación de tabla MySQL 02:49 Creación del proyecto con Spring Initializr 04:44 Creación de Entity Reserva 07:10 Creación de la interfaz DAO 09:30 Implementación de ReservaDAOImpl 14:27 CommandLineRunner 21:04 Configuración de application.properties 21:46 Resultado final 📋 ENUNCIADO DEL EJERCICIO #12 Restaurante - Reserva Un restaurante gestionaba sus reservas en una libreta física en la recepción, pero después de perder mesas por reservas duplicadas decide finalmente sistematizarlas. Te piden desarrollar el módulo de reservas, con la capacidad de confirmar de una sola vez todas las reservas de una fecha específica y eliminar automáticamente las reservas que fueron canceladas. 🎯 REQUISITOS 1️⃣ Crear la tabla MySQL "reserva": • id: INT, PK, AUTO_INCREMENT • codigo_reserva: VARCHAR(20) • fecha: VARCHAR(10) • estado: VARCHAR(20) 2️⃣ Crear la Entity Reserva, mapeada a la tabla "reserva", utilizando: • codigoReserva → codigo_reserva 3️⃣ Implementar un método para registrar una nueva reserva. 4️⃣ Implementar un método para obtener una reserva según su ID. 5️⃣ Implementar un método para obtener todas las reservas: findAll() 6️⃣ Implementar un método para actualizar el estado de todas las reservas de una fecha: updateEstadoPorFecha("2026-09-20", "CONFIRMADA") Debe retornar cuántas filas fueron actualizadas. 7️⃣ Implementar un método para eliminar todas las reservas con un estado determinado: deleteByEstado("CANCELADA") Debe retornar cuántas filas fueron eliminadas. 8️⃣ Implementar ReservaDAOImpl utilizando EntityManager mediante Constructor Injection. 9️⃣ Crear un CommandLineRunner que realice las operaciones en este orden: • Guardar R-001 → 2026-09-20 → PENDIENTE • Guardar R-002 → 2026-09-20 → PENDIENTE • Guardar R-003 → 2026-09-21 → CANCELADA • Listar todas las reservas con findAll() • Ejecutar: updateEstadoPorFecha("2026-09-20", "CONFIRMADA") • Ejecutar: deleteByEstado("CANCELADA") ✅ RESULTADO FINAL ESPERADO Al finalizar, la tabla debe contener: R-001 | 2026-09-20 | CONFIRMADA R-002 | 2026-09-20 | CONFIRMADA La reserva R-003 ya no debe existir porque fue eliminada por tener estado CANCELADA. 📚 APRENDERÁS A TRABAJAR CON ✅ Java ✅ Spring Boot + MySQL ✅ JPA / Hibernate ✅ EntityManager ✅ JPQL ✅ Arquitectura DAO ✅ Entity ✅ DAO Interface ✅ DAO Implementation ✅ Constructor Injection ✅ Operaciones CRUD ✅ WHERE ✅ Actualizaciones masivas ✅ Eliminaciones masivas ✅ executeUpdate() ✅ Maven ✅ CommandLineRunner 💻 Proyecto práctico para aprender Java Spring Boot y desarrollo Backend mediante un caso real de gestión de reservas para un restaurante. 🔔 Suscríbete a LDA DEV para más contenido de Java, Spring Boot, MySQL y programación. #Java #SpringBoot #MySQL #JPA #Hibernate #CRUD #JavaDeveloper #Programacion #Backend #Restaurante #Reserva #EntityManager #JPQL #LDADev