목차
- User의 모든 데이터 불러오기 (회원 데이터 모두 불러오기)
- 한 페이지에 회원정보를 2건씩만 불러오기 (페이징 처리)
- 페이징 처리에 사용되는 인터페이스와 페이지 설정을 위한 어노테이션
- Page 타입
- List 타입 (Page 데이터 없애기)
1. User의 모든 데이터 불러오기 (회원 데이터 모두 불러오기)
- 제네릭을 User로 받는 List 타입 메소드 작성
- 코드 실행 후 url 확인
- 코드 가시성 향상을 위해 'JSON Peep for Safari' 앱 다운로드
- 원숭이 클릭
- 코드 변화 확인
2. 한 페이지에 회원정보를 2건씩만 불러오기 (페이징)
1) 페이징 처리에 사용되는 인터페이스와 페이지 설정을 위한 어노테이션
- Pageable : 불러온 데이터를 페이지 처리하기 위해 사용되는 인터페이스
- @PageableDefault() : Pageable로 처리한 페이지를 개별적으로 설정하는 어노테이션 (페이지는 0부터 시작)
- size : 한 페이지에 보여줄 데이터 개수
- sort : 정렬 조건
- direction = Sort.Direction : 정렬 방향 (Desc : 내림차순, ASC : 오름차순)
2) Page 타입
- 제네릭을 User로 받는 Page 타입의 메소드 작성 (Pageable 객체를 매개변수에 넣음)
- findAll(pageable) : User 데이터를 (Page 형식으로) 불러오겠다
- 코드 실행 후 url 확인
- '?' 사용하여 첫 번째, 두 번째 페이지 확인 (Pageable 객체를 매개변수에 넣었기에 사용 가능)
- 회원정보가 없는 페이지는 공란으로 나옴 (MySQL에 회원정보는 4개만 있음)
3) List 타입 (Page 데이터 없애기)
- getContent() 메소드 사용 > type mismatch
- getContentc() 는 List 인터페이스에서 제공하는 메소드
- Page 타입을 List 타입으로 변경
- 페이지 데이터까지 불러오되 표기는 List 타입으로 (코드 구성은 이게 좋음)
- Page 데이터 없이 회원정보만 표기된거 확인
'SpringBoot > JPA' 카테고리의 다른 글
[STS] 회원정보 삭제 (deleteById) (0) | 2024.03.11 |
---|---|
[STS] 회원정보 수정 (save(), @Transactional, 더티체킹) (0) | 2024.03.11 |
[STS] 회원정보 불러오기 (@PathVariable이란?) (1) | 2024.03.07 |
[STS] 회원정보 추가 (Enum 이란?) (0) | 2024.03.07 |
[STS] 테이블 생성하기 (Blog 테이블, yml 설정) (0) | 2024.03.06 |