Spring 03

이산·2023년 6월 27일

페이징 관련 JPA 패키지

📎 org.springframework.data.domain.Page

페이징된 결과를 나타내는 인터페이스

Page 인터페이스의 주요 메소드

- getContent(): 현재 페이지의 엔티티 목록을 반환합니다.
           일반적으로 조회된 엔티티들이 이 속성을 통해 접근됩니다.
           
- getTotalElements(): 전체 엔티티의 수를 반환합니다. 
           페이징되지 않은 경우에도 전체 엔티티의 수를 가져올 수 있습니다.
          
- getTotalPages(): 전체 페이지 수를 반환합니다. 
           페이지당 엔티티 수와 전체 엔티티 수를 기반으로 계산됩니다.
           
- getNumber(): 현재 페이지 번호를 반환합니다. 페이지 번호는 0부터 시작합니다.

- getSize(): 페이지당 엔티티 수를 반환합니다.

- getSort(): 페이지의 정렬 정보를 반환합니다. 
       정렬 정보는 Sort 객체로 표현되며, 엔티티가 어떤 기준으로 정렬되었는지 알려줍니다.
       
- hasContent(): 현재 페이지에 엔티티가 있는지 여부를 반환합니다. 
       엔티티가 없는 경우 false를 반환합니다.
       
- hasNext(): 다음 페이지가 있는지 여부를 반환합니다.

- hasPrevious(): 이전 페이지가 있는지 여부를 반환합니다.

- isFirst(): 현재 페이지가 첫 번째 페이지인지 여부를 반환합니다.

- isLast(): 현재 페이지가 마지막 페이지인지 여부를 반환합니다.

📎 org.springframework.data.domain.PageRequest

페이징 요청 정보를 생성하는 클래스

PageRequest 클래스는 다음과 같은 생성자를 제공

- PageRequest.of(page, size): 페이지 번호와 페이지 크기를 기반으로 페이징 요청 정보를 
                              생성합니다.
                              
- PageRequest.of(page, size, sort): 페이지 번호, 페이지 크기, 정렬 정보를 기반으로 
                   페이징 요청 정보를 생성합니다. 정렬 정보는 Sort 객체로 전달됩니다.
                   

📎 org.springframework.data.domain.Pageable

페이징 요청 정보를 나타내는 인터페이스

Pageable 인터페이스의 주요 메소드

- getPageNumber(): 요청한 페이지 번호를 반환합니다.

- getPageSize(): 요청한 페이지 크기를 반환합니다.

- getOffset(): 현재 페이지의 시작 인덱스를 반환합니다.

- hasPrevious(): 이전 페이지가 있는지 여부를 반환합니다.

- hasNext(): 다음 페이지가 있는지 여부를 반환합니다.

- next(): 다음 페이지의 Pageable 객체를 반환합니다.

- previousOrFirst(): 이전 페이지의 Pageable 객체를 반환하거나
                     첫 번째 페이지의 Pageable 객체를 반환합니다.
                     
- first(): 첫 번째 페이지의 Pageable 객체를 반환합니다.

- withPage(int page): 지정한 페이지 번호로 변경된 Pageable 객체를 반환합니다.

- withSize(int size): 지정한 페이지 크기로 변경된 Pageable 객체를 반환합니다.

쿼리 문자열

  • URL의 일부로서 웹 애플리케이션에서 클라이언트가 서버로 데이터를 전달하는 데 사용되는 문자열

  • 주로 GET 요청에서 사용되며, URL 뒤에 '?'를 통해 시작

    - 쿼리 문자열은 key=value 형태의 쌍으로 구성되며, 여러 개의 쿼리 문자열은 &로 구분됩니다.
     - 각 쿼리 문자열은 요청에 대한 추가적인 정보를 제공하기 위해 사용됩니다.
     - 쿼리 문자열은 서버 측에서 파라미터를 받아 처리하거나, 검색어, 필터, 정렬 방식 등과 같은 
      추가 정보를 전달하는 데 활용됩니다.
      
예시

	https://example.com/search?q=keyword&page=2&sort=desc
    
  >> 위의 URL에서 ? 이후의 문자열인 q=keyword&page=2&sort=desc가 쿼리 문자열입니다. 
     여기서 q, page, sort는 쿼리의 키(Key)이고, 각각의 값(Value)은 keyword, 2, desc입니다.
     서버는 이 쿼리 문자열을 해석하여 클라이언트의 요청에 따른 동작을 수행할 수 있습니다.

쿼리 문자열은 URL에 포함되어 전송되므로 브라우저나 웹 애플리케이션에서 서버로 데이터를 전송하는 데 사용되고, 클라이언트는 쿼리 문자열을 조합하여 원하는 데이터를 서버에 요청하고, 서버는 이를 해석하여 적절한 응답을 반환

0개의 댓글