정렬과 페이징

경성구·2022년 5월 20일
0

Spring

목록 보기
17/19

정렬과 페이징

쿼리문에서의 정렬

  • 일반적인 쿼리문을 작성할 때 정렬을 사용하기 위해서는 'ORDER BY' 구문을 사용
  • 특정 컬럼을 기준으로 오름차순 또는 내림차순으로 정렬된 레코드 목록을 응답 받음

    쿼리 메소드에서 정렬 처리

  • 쿼리메소드에서는 메소드의 이름으로 정렬 처리를 설정할 수 있음
  • Asc : 오름차순
  • Desc : 내림차순
  • 예) findByNameOrderByStockAsc
  • 만약 여러 정렬 기준을 사용하고 싶다면 이어 붙이는 것으로 설정할 수 있음
  • 예) findByNameOrderByStockAscPriceDesc

    매개 변수를 활용한 정렬 처리

  • 메소드 이름에 정렬 키워드를 넣는 방법이 아닌 Sort객체를 활용하여 정렬 기준을 설정할 수 있음
  • 예) findByName(String name, Sort sort)
    findByName("pen",Sort.by(Order.asc("price")));

    매개 변수를 활용한 페이징 처리

  • 페이징 처리를 하면 리턴 타입으로 Page를 설정하고 매개변수로 Pageable 객체를 사용
  • 예)findByName(String name, Pageable pageable);
    findByName("공책", PageRequest.of(0,2));
  • PageRequest의 of 메소드는 아래와 같이 설명할 수 있습니다.

    of메소드 :
    of(int page,int size)
    of(int page,int size,Sort)
    of(int page,int size,Direction,String --- properties)

    매개변수 설명 :
    페이지 번호(zero-based),페이지당 데이터 개수
    페이지 번호,페이지당 데이터 개수, 정렬
    페이지 번호,페이지당 데이터 개수,(enum)정렬 방향,컬럼

    비고 :
    정렬x
    sort에 의해 정렬
    Sort.by(direction,properties)에 의해 정렬
  • profile
    코딩배우기!

    0개의 댓글

    관련 채용 정보