- 1

¿Qué es Spring y por qué es tan popular?
01:49 - 2

Configuración inicial de proyecto Spring Boot con Java 21
07:00 - 3

Crear un endpoint REST con Spring Boot e integrarlo con IA usando LangChain4j
07:29 - 4

Configuración de application.properties y perfiles en Spring Boot
12:23 - 5

Arquitectura por capas orientada al dominio en Java
04:35 quiz de Introducción a Spring Boot
Repositorios CRUD con Spring Data sin escribir SQL
Clase 8 de 23 • Curso de Java Spring Boot
Contenido del curso
- 6

Conexión de Spring Boot con PostgreSQL usando Docker
10:36 - 7

Crear entidad con anotaciones JPA para tabla de base de datos
09:30 - 8

Repositorios CRUD con Spring Data sin escribir SQL
07:43 - 9

Creación de endpoints GET en Spring Boot para consultar películas
04:29 quiz de Persistencia con Spring Data y modelado de datos
- 10

Inyección de dependencias y contenedor IoC en Spring Boot
04:23 - 11

Separación de dominio y persistencia con DTOs en Java
08:55 - 12

Configuración de MapStruct con Spring para convertir entidades a DTO
09:26 - 13

Creación de conversores personalizados en MapStruct para enums y strings
10:01 - 14

Captura de parámetros con @PathVariable en Spring Boot
07:21 - 15

Códigos HTTP y Response Entity en APIs REST
06:52 quiz de Buenas prácticas en diseño de APIs
- 16

Crear endpoint POST para guardar películas en Spring Boot
10:20 - 17

Creación de endpoint PUT para actualizar películas en base de datos
11:50 - 18

Sistema de recomendaciones de películas con IA en Java
11:11 - 19

Control de excepciones con @RestControllerAdvice en Spring Boot
09:38 - 20

Validación automática de datos en APIs con Spring Boot
12:34 - 21

Documentación automática de APIs con OpenAPI en Spring Boot
10:52 - 22

Compilación de aplicación Java para producción con PostgreSQL
10:21 - 23

Despliegue de API Java con Docker en Render
10:20
Trabajar con bases de datos en Java es mucho más eficiente gracias a Spring Data y sus repositorios. En este material, aprenderás cómo implementar operaciones CRUD completas sin escribir SQL manualmente, junto con la forma recomendada de cargar datos de prueba usando Spring.
¿Cómo se configuran los repositorios para CRUD en Spring Data?
Spring Data permite implementar operaciones CRUD extendiendo una interfaz llamada CrudRepository. Solo necesitas indicar el nombre de la entity y el tipo de su clave primaria. Por ejemplo, utilizar CrudRepository<MovieEntity, Long> te da acceso a los métodos esenciales para manipular registros.
- Puedes crear, leer, actualizar y eliminar datos desde Java directamente.
- Spring automáticamente genera e implementa todos los métodos estándar de CRUD.
- No es necesario programar consultas SQL para operaciones sencillas.
La extensión adecuada del repositorio conserva tus entities ordenadas dentro de paquetes, siguiendo la estructura que recomienda Spring para proyectos escalables.
¿Qué operaciones CRUD están disponibles en el repositorio?
Al extender de CrudRepository, obtienes acceso inmediato a métodos útiles como:
- Guardar un registro o una lista completa.
- Buscar por clave primaria.
- Verificar la existencia de un registro por su ID.
- Obtener todos los registros almacenados.
- Encontrar varios registros por una lista de IDs.
- Contar los registros guardados en la tabla.
- Eliminar por ID o por la entidad completa.
Esto facilita el manejo de datos y permite enfocarse en la lógica de negocio sin distraerse escribiendo SQL.
¿Cómo se cargan datos iniciales con Data.sql en Spring?
Para trabajar con ejemplos reales desde el principio, es recomendable cargar datos de prueba con un archivo Data.sql:
- El archivo debe ubicarse en la raíz de la carpeta
Resourcesy llamarse exactamenteData.sqlpara que Spring lo reconozca. - Utiliza sentencias
insert intopara agregar registros; se recomienda utilizaron conflict do nothingpara evitar errores por duplicados. - Si alguna columna o atributo está mal escrita en el archivo o la entidad, se mostrará un error al arrancar la aplicación. Revisa los nombres cuidadosamente.
Además, debes agregar la siguiente configuración en el archivo de propiedades para asegurar que los datos siempre se carguen:
spring.sql.init.mode=always
Así, cada vez que inicies tu aplicación, Spring revisa si los datos deben inicializarse, pero gracias a on conflict do nothing, no sobrescribe datos ni arroja errores si ya existen.
¿Te animas a practicar con repositorios y cargar tus propios datos iniciales? Cuéntanos cómo vas aplicando estos conceptos o si necesitas orientación al crear tus primeras consultas en Spring Data.