BoardRepositoryPagingTests.java - 글 목록 > SPRING_DATA_JPA

본문 바로가기
사이트 내 전체검색

SPRING_DATA_JPA

BoardRepositoryPagingTests.java - 글 목록

페이지 정보

profile_image
작성자 관리자
댓글 0건 조회 14회 작성일 24-06-15 18:27

본문

0cc6457f155bf72799aefb8c835e9c6a_1718446103_7873.png
 



package web.repository;


import org.junit.jupiter.api.Test;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.test.context.SpringBootTest;

import org.springframework.data.domain.Page;

import org.springframework.data.domain.PageRequest;

import org.springframework.data.domain.Pageable;

import org.springframework.data.domain.Sort;


import lombok.extern.log4j.Log4j2;

import web.domain.Board;


@SpringBootTest

@Log4j2

public class BoardRepositoryPagingTests {


@Autowired

private BoardRepository boardRepository;


//@Test

public void testPaging() {

//1 페이지 - 페이지당 출력 게시물 수 : 10

Pageable pageable = PageRequest.of(0, 10);

Page<Board> result = boardRepository.findAll(pageable);


System.out.println("========== List Start ==========");

System.out.println("결과:"+result);

System.out.println("총 게시물 수:"+result.getTotalElements()); 

System.out.println("총 페이지 수:"+result.getTotalPages());

System.out.println("현재 페이지 넘버:"+result.getNumber()); //0

System.out.println("출력 게시물 수:"+result.getSize()); //10

System.out.println("시작이 0인지 여부:"+result.isFirst());

System.out.println("이전 페이지 존재 여부:"+result.hasPrevious());

System.out.println("다음 페이지 존재 여부:"+result.hasNext());


for(Board b : result.getContent()) {

//실제 페이지의 데이터를 처리하는 것은 getContent()를 이용해서 List<엔티티 타입>으로 처리 또는

//Stream<엔티티 타입>을 반환하는 get()을 이용할 수 있다.

System.out.println(b);

}

System.out.println("========== List End ==========");

}


//@Test

public void testPaging2() {

//order by bno desc

Sort sort1 = Sort.by("bno").descending();


Pageable pageable = PageRequest.of(0, 10, sort1);

Page<Board> result = boardRepository.findAll(pageable);


//Stream<엔티티 타입>을 반환하는 get()을 이용

result.get().forEach(board -> {

System.out.println(board);

});

}


//@Test

public void testPaging3() {

//정렬 다중 조건 처리

Sort sort1 = Sort.by("bno").descending();

Sort sort2 = Sort.by("title").ascending();

Sort sortAll = sort1.and(sort2);

//and()를 이용해서 여러 개의 조건을 지정할 수 있다.


Pageable pageable = PageRequest.of(0, 10, sortAll);

Page<Board> result = boardRepository.findAll(pageable);


//Stream<엔티티 타입>을 반환하는 get()을 이용

result.get().forEach(board -> {

System.out.println(board);

});

}

}


댓글목록

등록된 댓글이 없습니다.

회원로그인

회원가입

사이트 정보

공지사항
자유게시판
질문답변
1:1문의

 

별명 : 터푸가위
주소 : 부산시 동래구 명장로20번길 90
대표 : 박규태
메일 : dancepkt@******.com

접속자집계

오늘
229
어제
123
최대
10,760
전체
263,828
Copyright © dancePKT . All rights reserved.