spring 페이징 예제

리소스 이름 제품에 대한 페이지 지정을 빌드하는 예를 예로 들어, 높은 수준에서 페이지 지정을 빌드하는 세 가지 옵션을 살펴보겠습니다. 이 튜토리얼에서 봄 페이징에 대한 아무것도 누락된 경우, 내가 코멘트에 알려. 안녕하세요 페트리, 나는 메이븐과 함께 당신의 예를 실행합니다. 나는 심지어 내가 수동으로 22 명을 만든 페이지 마지 터 볼 수 없습니다. 나는 ”페이지”라는 용어를 이해합니까? 나를 위해 그것은 현재 페이지를 다음 페이지 또는/그리고 이전 페이지에 대 한 링크를 볼 수 있습니다 의미. 튜토리얼 응용 프로그램이 페이지 당 10 명을 볼 수 있도록 코딩된 경우, 나는 22 명이 있기 때문에 두 번째 페이지로 이동하는 링크를 볼 수 있습니다. 나는 당신의 설명에 대한 감사 페이지 당 단위의 수의 구성을 볼 수 없습니다. Tvan 우리는이 튜토리얼에서 프로젝트를 부트 스트랩 스프링 부팅을 사용하고 있습니다. Spring Initializr를 사용하고 다음 종속성을 선택하여 유사한 프로젝트를 만들 수 있습니다. REST API를 디자인하는 동안 클라이언트가 API에서 결과를 가져오는 동안 정렬 옵션을 지정할 수 있는 유연성을 제공합니다. API를 디자인하는 동안 sort_by=[특성 이름]-[asc/desc] 패턴을 사용하는 것이 좋습니다. API 디자이너는 허용된 특성 이름을 sort 매개 변수로 지정해야 합니다.

예를 들어 ?name-asc를 사용하여 이름별로 제품을 정렬하거나 ?name-desc를 사용하여 역으로 정렬할 수 있습니다. 그 이유 중 하나는 @EnableSpringDataWebSupport 사용하여 페이지 조정 지원을 활성화했기 때문입니다. 이렇게 하면 스프링데이터웹프로퍼티 빈이 만들어지는 스프링데이터웹자동구성이 재정의됩니다. 일반 스프링 응용 프로그램에서만 @EnableSpringDataWebSupport 사용하십시오. 이러한 예외는 Spring이 페이지 가능 또는 Sort 인스턴스를 만들려고 시도하고 기본 생성자가 없기 때문에 실패한다는 것을 의미합니다. 위의 예에서는 ID를 기반으로 10명의 직원을 표시합니다. 하지만 10000명의 직원이 있고 100명의 직원을 데리고 가고 싶다면 어떨까요? 위의 데이터 다음 세트에 대해 무엇 처음 100을 줄 것이다?? 어떻게 남아 얻을 ?? 즉, 최신 웹 기술을 사용하여 프런트 엔드에서 백 엔드로 데이터를 전달하는 방법을 보여 주는 예제가 없습니다. 이 문제는 PageableHandlerMethod인수 해결문서 및 SortHandlerMethodResolver 빈을 응용 프로그램 컨텍스트에 추가하기 때문에 스프링 데이터 웹 지원에 의해 수정되며, 이는 페이지 형식의 웹 컨트롤러 메서드 인수를 찾는 역할을 합니다. 및 페이지, 크기 및 정렬 쿼리 매개 변수의 값으로 정렬및 채웁니다.

따라서 컬렉션에서 실행하면 View(예: jsp)에서 db에 원치 않는 쿼리가 많이 있습니다. 우리는 단순히 모든 스프링 데이터 리포지토리 메서드에 Pageable 또는 Sort 인스턴스를 전달할 수 있습니다: 웹 컨트롤러에 있는 항목의 페이지(또는 슬라이스)를 반환하려면 페이징 매개 변수를 정의하는 페이징 매개 변수를 수락하고 데이터베이스에 전달해야 합니다. 을 다음 클라이언트에 페이지 개체를 반환합니다. 이는 위에서 접두사 속성과 유사한 효과를 가지지만 정렬 매개변수에도 적용됩니다. 한정자 구분 기호는 매개 변수 이름에서 접두사를 구분하는 데 사용됩니다. 위의 예에서는 my_page, my_size 및 my_sort를 쿼리 매개변수만 평가됩니다. 그 게 무너뜨리자. rel=”next”는 다음 페이지가 페이지=2.rel=”first”라고 말하며 첫 번째 페이지는 항상 페이지=2를 의존한다고 말합니다. 이러한 링크 관계식에서 제공됩니다. 자신의 URL을 추측하거나 구성하지 마십시오. Spring PagedResource 결과의 일부로이 모든 정보를 제공, 우리는이 정보에서 올바른 HTTP 헤더를 구축 해야 합니다. 컨트롤러 예제에서는 createLinkHeader 메서드에서 헤더를 빌드합니다.

그런 다음 스프링 데이터 JPA에서 제공하는 페이지 조정 지원을 사용해야 합니다. REST 쿼리 언어를 빌드해야 하는 경우 이 자습서를 살펴봐야 합니다. 나는 봄 문서에 있는 것과 똑같은 예제를 시도했는데 작동하지 않는 것 같습니다: http://docs.spring.io/spring-data/jpa/docs/1.10.2.RELEASE/reference/html/#jpa.query-methods.at-query 최신 스프링 데이터 JPA 버전을 시도하지 않았기 때문에 작동하는지 여부를 확인합니다.