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

15SPRINGBOOT+MYSQL CONTABILIDAD LDADEV

LDA DEV

0:00 / 0:00

15SPRINGBOOT+MYSQL CONTABILIDAD LDADEV

52 просмотра · 5 дн. назад
LDA DEV
12 подписчиков
52 просмотра · 5 дн. назад
🚀 EJERCICIO #15 — CONTABILIDAD DE SERVICIOS - FACTURA 🚀 *Java + Spring Boot + MySQL | CRUD con JPA, Hibernate y EntityManager* En este tutorial desarrollamos un *módulo de facturas para el área de contabilidad de una empresa de servicios* utilizando Java, Spring Boot y MySQL, aplicando arquitectura DAO, JPA, EntityManager, JPQL y operaciones CRUD. En este ejercicio trabajaremos con **consultas por estado, actualizaciones masivas por monto y eliminaciones mediante condiciones y coincidencias de texto**. --- ⏱️ CAPÍTULOS 00:00 Introducción + Creación de tabla MySQL 02:30 Creación del proyecto con Spring Initializr 03:38 Creación de Entity Factura 06:04 Creación de la interfaz DAO 09:30 Implementación de FacturaDAOImpl 15:50 CommandLineRunner 25:38 Configuración de application.properties 26:21 Resultado final --- 📋 ENUNCIADO DEL EJERCICIO #15 Contabilidad de servicios - Factura El área de contabilidad de una empresa de servicios quiere dejar de llevar el control de facturas pendientes de pago en una **hoja de cálculo compartida**, propensa a errores. Te encargan el módulo de facturas, que debe permitir **identificar todas las facturas aún no pagadas**, y marcar como pagadas, de una sola vez, todas aquellas cuyo monto sea menor a cierto límite. Al migrar al nuevo sistema, también necesita *depurar las facturas de prueba* generadas durante las pruebas, identificables por un prefijo especial en su número de factura. 🎯 DEBES: 1. Crear la tabla MySQL `factura` con las columnas: `id`: INT, PK, AUTO_INCREMENT `numero_factura`: VARCHAR(20) `monto`: DOUBLE `pagada`: TINYINT(1) 2. Crear la Entity `Factura`, con el atributo `numeroFactura` mapeado a `numero_factura`, y el atributo `pagada` de tipo `boolean`. 3. Elaborar un método que permita registrar una nueva factura. 4. Elaborar un método que permita obtener una factura específica según su `id`. 5. Elaborar un método que permita obtener todas las facturas según si están pagadas o no. 6. Elaborar un método que permita marcar como pagadas todas las facturas con monto menor a un límite dado, retornando cuántas fueron actualizadas. 7. Elaborar un método que permita eliminar la factura de un monto exacto determinado. Debes definir tú mismo su firma exacta. 8. Elaborar un método que permita eliminar todas las facturas cuyo número de factura empiece con un prefijo dado, retornando cuántas fueron eliminadas. 9. Implementar `FacturaDAOImpl` inyectando el `EntityManager` por Constructor Injection. 10. Escribir un `CommandLineRunner` que realice, en este orden: *1. Guardar 4 facturas:* `F-001` — monto `80.0` — sin pagar `F-002` — monto `150.0` — sin pagar `F-003` — monto `300.0` — sin pagar `ANULADA-001` — monto `10.0` — sin pagar *2.* Listar las facturas no pagadas con: ```java findByPagada(false) ``` *3.* Ejecutar: ```java marcarComoPagadasPorMontoMenorA(200.0) ``` e imprimir cuántas filas fueron actualizadas. *4.* Eliminar la factura de monto `300.0` mediante el nuevo método implementado e imprimir cuántas filas fueron eliminadas. *5.* Ejecutar: ```java eliminarPorNumeroFacturaLike("ANULADA") ``` para eliminar las facturas de prueba e imprimir cuántas filas fueron eliminadas. --- ✅ RESULTADO FINAL ESPERADO Al terminar: *F-001* — monto `80.0` → `pagada = true` *F-002* — monto `150.0` → `pagada = true` *F-003* — monto `300.0` → ya no existe *ANULADA-001* → ya no existe Los números de factura son los indicados en el paso 1. --- 📚 APRENDERÁS A TRABAJAR CON ✅ Java ✅ Spring Boot + MySQL ✅ JPA / Hibernate ✅ EntityManager y JPQL ✅ Arquitectura DAO ✅ CRUD ✅ Constructor Injection ✅ Consultas por estado ✅ Actualizaciones masivas ✅ Eliminaciones por condición ✅ `LIKE` ✅ `executeUpdate()` ✅ CommandLineRunner ✅ Maven 💻 *Ejercicio práctico para aprender Java, Spring Boot y desarrollo Backend mediante un caso realista de gestión de facturas.* 🔔 *Suscríbete a LDA DEV* para más contenido de Java, Spring Boot, bases de datos y programación. #Java #SpringBoot #MySQL #JPA #Hibernate #CRUD #JavaDeveloper #Programacion #Backend #Factura #Contabilidad #EntityManager #JPQL #LDADev