전체 방문자
오늘
어제
21종
종이의 코딩 공부방
21종
  • 분류 전체보기 (174)
    • JAVA (64)
    • Springboot (46)
      • 블로그만들기 (45)
    • Database (60)
      • Oracle (60)
    • 프로젝트 3 (CELOVER) (0)
    • 개발서버 구축 (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.
21종

종이의 코딩 공부방

Springboot/블로그만들기

[Springboot] 블로그 만들기 (11)_Select 테스트_다중행

2023. 11. 24. 19:38

Controller

//http://localhost:8001/blog/dummy/users
@GetMapping("/dummy/users")
public List<User> list(){
    return userRepository.findAll(); // 전체행 조회
}

 

값은 너무 잘 나오는데.. 가독성이 너무 떨어진다.

JSON VIEW 라는 크롬 확장 프로그램을 설치하자

 

https://chromewebstore.google.com/detail/jsonview/gmegofmjomhknnokphhckolhcffdaihd?utm_source=ext_app_menu

 

JSONView

브라우저에서 JSON 문서를 보세요.

chrome.google.com

 

크롬에 추가한 후 새로고침을 하면 매우 이쁘게 나온다.


Pagnation 처리가 된 Select

@GetMapping("/dummy/user")
public Page<User> pageList(@PageableDefault(size = 2, sort = "id", direction =  Sort.Direction.DESC) Pageable pageable){
    // 결과 값을 2건씩 불러오고, 정렬은 id를 기준으로 정렬하고, 최신순으로 불러온다.
    Page<User> users = userRepository.findAll(pageable);
    return users;
}

 

두개의 데이터가 잘 나온다.

그럼 두번째 페이지도 잘 나오는지 확인해보자

 

두번째 데이터값을 확인하는 방법은 쿼리스트링을 사용하면 된다.

 

http://localhost:8001/blog/dummy/user?page=1 // 두번째 페이지

// page=0 부터 시작이므로 page=2 가 두번째 페이지가 된다.

 

http://localhost:8001/blog/dummy/user?page=0 // 첫번째 페이지

http://localhost:8001/blog/dummy/user? // 첫번째 페이지

총 3건의 데이터가 있으므로 두번째 페이지는 3개 중에 두개를 제외한 한 건만 조회된다.


만약 페이징정보를 출력하고 싶지 않다면 getContent()를 이용해서 제외하고 출력할 수 있다.

@GetMapping("/dummy/user")
public List<User> pageList(@PageableDefault(size = 2, sort = "id", direction =  Sort.Direction.DESC) Pageable pageable){
    // 결과 값을 2건씩 불러오고, 정렬은 id를 기준으로 정렬하고, 최신순으로 불러온다.
    Page<User> pagingUser = userRepository.findAll(pageable);

    List<User> users = pagingUser.getContent();
    return users;
}


분기문도 처리 할 수 있다.

@GetMapping("/dummy/user")
public List<User> pageList(@PageableDefault(size = 2, sort = "id", direction =  Sort.Direction.DESC) Pageable pageable){
    Page<User> pagingUser = userRepository.findAll(pageable);

    if(pagingUser.isFirst()) {
        // 첫번째 페이지 일 경우
    }
    if(pagingUser.isLast()) {
        // 마지막 페이지 일 경우
    }

    List<User> users = pagingUser.getContent();
    return users;
}

 

 


참고 유튜브 (메타코딩님 강의)

https://youtu.be/dPfjqBB-T4U?si=vSMRQbhFn66g-2gg

    'Springboot/블로그만들기' 카테고리의 다른 글
    • [Springboot] 블로그 만들기 (13)_Delete 테스트, Exception처리
    • [Springboot] 블로그 만들기 (12)_Update 테스트
    • [Springboot] 블로그 만들기 (10)_Select 테스트_단일행
    • [Springboot] 블로그 만들기 (9)_회원가입 insert 테스트
    21종
    21종
    코딩 공부한 것 정리하려고 만든 블로그

    티스토리툴바