En este putno tuve eun error al correr el código que se debía a que no había agregado el constructor vacio en la entidad User.
Introducción a Spring Boot
¿Qué es Spring Boot?
Características principales de Spring Boot
Instalación de entorno de desarrollo: Windows
Instalación de entorno de desarrollo: macOS
Instalación de entorno de desarrollo: Ubuntu
Dependencias en Spring Boot
¿Qué es una dependencia?
Inversión de control y el patrón de inyección de dependencias
Autoconfiguration y runtime
Anotaciones para indicar dependencias en Spring Boot
Creación de proyecto bajo arquitectura de dependencias
Inyección de dependencia "Component"
Ejemplo de creación de dependencia propia
Configuración general de Spring Boot
Cambio de puerto y path
Uso de properties y valores
Uso de properties con ejemplo de generación de POJO
Qué son los logs y cómo usarlos
JPA con Spring y Spring Data
Modelado de entidades con JPA
Configuración de datasource con properties y classes
Registro en base de datos con JpaRepository
Uso de JPQL en anotación query
Uso de anotación value para apuntar a properties
Obtención de información usando Query methods
Uso de Query methods con Or, and, OrderBy, Between, Sort
Uso de JPQL con named parameters
Uso de anotación transactional
Rollback con la anotación transactional
REST con Spring Boot
CRUD bajo arquitectura REST
Métodos CREATE, UPDATE y DELETE
Probando la API REST
Pagination con Spring Boot
Conclusiones
Sigue aprendiendo Spring Boot
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
Aportes 9
Preguntas 8
En este putno tuve eun error al correr el código que se debía a que no había agregado el constructor vacio en la entidad User.
Consejo
para iterar una lista utilicen el método forEach directamente de la lista y no desde un stream
Pueden resumir el forEach de la siguiente manera:
userRepository.findAndSort("J", Sort.by("id").descending())
.stream()
.forEach(LOGGER::info);
Dentro de getInformationJpqlFromUser si estas trabajando arriba de java 9 podes usar esta forman:
this.userRepository.findByName("braian").ifPresentOrElse(
user -> System.out.println("User: "+user.getName())
,()-> System.out.println("No existe el usuario")
);
Asegúrense de no poner varios usuarios con el mismo email de lo contrario tendrán un error.
También se puede hacer la consulta de esta manera
el “findBy” nos permite hacer la consulta seguido de el campo por el cual vamos a buscar en este caso “email” y si queremos buscar por nombre he email podría escribirse de esta manera
@Query
Optional<User> findByNameAndEmail(String name, String email);
@Query
Optional<User> findByEmail(String email);
En esta clase mi código me lanzaba un error al momento de correrlo y el error me decía algo de que tenía error al con el Bean de la clase User. al mirar me di cuenta el @Id se importaba desde una librería diferente. la librería desde la cual no lanza error es:
import javax.persistence.*;
Excelente explicación de JPQL!
Le puse a la funcion para poder pasarle el email como parametro:
private void getInformationJpqlFromUser(String email){
LOGGER.info("USUARIO 1 CON QUERY JPQL" + userRepository.findByUserEmail(email));
}
getInformationJpqlFromUser("[email protected]");
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.