BoardRepositoryPagingTests.java - 글 목록 > SPRING_DATA_JPA

본문 바로가기

사이트 내 전체검색

뒤로가기 SPRING_DATA_JPA

BoardRepositoryPagingTests.java - 글 목록

페이지 정보

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

본문

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);

});

}

}


댓글목록 0

등록된 댓글이 없습니다.


Copyright © dancePKT. All rights reserved.
PC 버전으로 보기