Oigan si al momento de crear el pageRequest, les sale un error de que tienen que castear el PageRequest a Pageable y este a Page, revisen los imports, muy probablemente tienen alguno como este:
Pero necesitan que todos sean de Spring, como este:
Introducción
Curso de Spring Data JPA con MySQL y RESTful API
Creación de Proyectos con Spring Initializer y Gradle
Primeros pasos
Conexión de Proyecto Java a Base de Datos MySQL en IntelliJ IDEA
Creación de Entidades con Hibernate en Java
Relaciones entre Entidades en JPA: OneToOne, ManyToOne, OneToMany
Consultas SQL con JDBC Template en Spring Boot
Spring Data Repositories
Uso de Spring Data Repositories para Gestión de Datos
Guardar y Actualizar Registros con Spring Data Repositories
Eliminar elementos con Spring Data JPA: método deleteById
Gestión de Relaciones en JPA: Lazy vs Eager Fetching
Query Methods en Spring para Consultas Personalizadas
Filtrado de Pizzas por Ingredientes usando Query Methods
Consultas Avanzadas con Query Methods en Java Spring
Uso de Query Methods para Filtrar y Ordenar Datos en Spring
Paginación y Ordenación con Spring Data Repositories
Ordenamiento Dinámico con Paging and Sorting Repository
Personalización de queries
Consultas de Base de Datos con JPQL en Spring Boot
Consultas SQL nativas y ordenación con Hibernate en Spring Data
Uso de Proyecciones en Queries Personalizados con Java y SQL
Actualización de Precios de Pizza con Spring Data JPA
Propiedades ACID y Spring Data: Uso de @Transactional
Características avanzadas
Auditoría de Entidades con Spring Data JPA
Auditoría de Entidades con Listeners Personalizados en Spring
Ejecución de Store Procedures en Spring Data
Próximos pasos
Fundamentos de Spring Data JPA: Conexión y Repositorios
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
El Paging and Sorting Repository es una herramienta poderosa dentro de Spring Data que permite gestionar y estructurar grandes volúmenes de datos, haciendo posible paginar y organizar consultas de manera eficiente. Es especialmente útil cuando se trabaja con grandes cantidades de información o simplemente cuando se quiere presentar datos de forma más manejable y accesible.
Para crear un repositorio de Paging and Sorting en un proyecto de Spring, es necesario extender directamente de PagingAndSortingRepository
. Aquí te muestro un ejemplo:
public interface PicsaPacksortRepository extends PagingAndSortingRepository<PicsaEntity, Integer> {
}
PicsaEntity
es la clase que representa la entidad o modelo que estamos gestionando.Integer
es el tipo de dato para la clave primaria.El siguiente paso es inyectar este repositorio en el servicio para poder llevar a cabo las operaciones deseadas. A continuación te muestro cómo hacerlo:
@Autowired
.@Autowired
private final PicsaPacksortRepository picsaPacksort;
Get All
para hacerlo paginado:public Page<PicsaEntity> findAllPaged(int page, int elements) {
Pageable pageable = PageRequest.of(page, elements);
return picsaPacksort.findAll(pageable);
}
PageRequest.of(int page, int elements)
crea un objeto Pageable
que define el número de la página y el tamaño de la página, es decir, cuántos elementos tendrá cada una.Dentro del controlador, es fundamental recibir los parámetros que indican el número de página y el tamaño de los elementos por página. Estos se manejan como parámetros de petición:
@GetMapping("/pixas")
public Page<PicsaEntity> getAllPixas(@RequestParam(defaultValue = "0") int page,
@RequestParam(defaultValue = "8") int elements) {
return picsaService.findAllPaged(page, elements);
}
@RequestParam
se utiliza para capturar los parámetros de la URL de manera sencilla. También se pueden definir valores por defecto, como 0
para page y 8
para elements.El uso del Paging and Sorting Repository trae consigo varias ventajas significativas:
La implementación de un Paging and Sorting Repository optimiza la forma en que presentamos y manejamos la información, garantizando que se pueda acceder a los datos de manera rápida y efectiva. ¡Sigue explorando sus capacidades y verás cómo facilita tu gestión de datos en aplicaciones Spring!
Aportes 8
Preguntas 3
Oigan si al momento de crear el pageRequest, les sale un error de que tienen que castear el PageRequest a Pageable y este a Page, revisen los imports, muy probablemente tienen alguno como este:
Pero necesitan que todos sean de Spring, como este:
Es como el limit y offset pero mas mágico 😅 buenisimo!
✅
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?