목차

  1. User의 모든 데이터 불러오기 (회원 데이터 모두 불러오기)
  2. 한 페이지에 회원정보를 2건씩만 불러오기 (페이징 처리)
    1. 페이징 처리에 사용되는 인터페이스와 페이지 설정을 위한 어노테이션 
    2. Page 타입
    3. List 타입 (Page 데이터 없애기)

 

 

 

1. User의 모든 데이터 불러오기 (회원 데이터 모두 불러오기)

  1. 제네릭을 User로 받는 List 타입 메소드 작성
  2. 코드 실행 후 url 확인
    • 코드 가시성 향상을 위해 'JSON Peep for Safari' 앱 다운로드
    • 원숭이 클릭
    • 코드 변화 확인

 

1. 제네릭을 User로 받는 List 타입 메소드 작성

 

2. 코드 실행 후 url 확인

 

2-1. 코드 가시성 향상을 위해 'JSON Peep for Safari' 앱 다운로드

 

2-2. 우측에 원숭이 클릭

 

2-3. 코드가 더 잘보이게 바뀜

 

 

 

2. 한 페이지에 회원정보를 2건씩만 불러오기 (페이징)

 

1) 페이징 처리에 사용되는 인터페이스와 페이지 설정을 위한 어노테이션 

  1. Pageable : 불러온 데이터를 페이지 처리하기 위해 사용되는 인터페이스
  2. @PageableDefault() : Pageable로 처리한 페이지를 개별적으로 설정하는 어노테이션 (페이지는 0부터 시작)
    • size : 한 페이지에 보여줄 데이터 개수
    • sort : 정렬 조건
    • direction = Sort.Direction : 정렬 방향 (Desc : 내림차순, ASC : 오름차순)

 

 

 

2) Page 타입

  1. 제네릭을 User로 받는 Page 타입의 메소드 작성 (Pageable 객체를 매개변수에 넣음)
    • findAll(pageable) : User 데이터를 (Page 형식으로) 불러오겠다
  2. 코드 실행 후 url 확인
  3. '?' 사용하여 첫 번째, 두 번째 페이지 확인 (Pageable 객체를 매개변수에 넣었기에 사용 가능)
  4. 회원정보가 없는 페이지는 공란으로 나옴 (MySQL에 회원정보는 4개만 있음)

 

1. 제네릭을 User로 받는 Page 타입의 메소드 작성

 

2. 코드 실행 후 url 확인

 

3. '?' 사용하여 첫 번쨰, 두 번째 페이지 확인 (index = 0 부터)

 

4. 회원정보가 없는 페이지는 공란으로 나옴 (Page 정보만 나옴)

 

 

 

 

3) List 타입 (Page 데이터 없애기)

  1. getContent() 메소드 사용 > type mismatch
    • getContentc() 는 List 인터페이스에서 제공하는 메소드
  2. Page 타입을 List 타입으로 변경
  3. 페이지 데이터까지 불러오되 표기는 List 타입으로 (코드 구성은 이게 좋음)
  4. Page 데이터 없이 회원정보만 표기된거 확인

 

1. getContent() 메소드 사용 > type mismatch

 

2. Page 타입을 List 타입으로 변경

 

3. 페이지 데이터까지 불러오되 표기는 List 타입으로 (코드 구성은 이게 좋음)

 

4. Page 데이터 없이 회원정보만 표기된거 확인

+ Recent posts