BoardRepositoryTest
페이지 정보
본문
package web.repository;
import java.util.Optional;
import java.util.stream.IntStream;
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 jakarta.transaction.Transactional;
import lombok.extern.log4j.Log4j2;
import web.domain.Board;
@SpringBootTest
@Log4j2
public class BoardRepositoryTest {
@Autowired
private BoardRepository boardRepository;
@Test
public void testSearchAll2() {
String[] types = {"t","c","w"};
String keyword = "1";
// 1 page order by bno desc
Pageable pageable = PageRequest.of(0, 10, Sort.by("bno").descending());
Page<Board> result = boardRepository.searchAll(types, keyword, 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 testSearchAll() {
String[] types = {"t","c","w"};
String keyword = "1";
// 1 page order by bno desc
Pageable pageable = PageRequest.of(0, 10, Sort.by("bno").descending());
Page<Board> result = boardRepository.searchAll(types, keyword, pageable);
}
//@Test
public void testSearch1() {
// 2 page order by bno desc
Pageable pageable = PageRequest.of(1, 10, Sort.by("bno").descending());
boardRepository.search1(pageable);
}
}
[콘솔 내용]
Hibernate:
select
b1_0.bno,
b1_0.content,
b1_0.moddate,
b1_0.regdate,
b1_0.title,
b1_0.writer
from
board b1_0
where
(
b1_0.title like ? escape '!'
or b1_0.content like ? escape '!'
or b1_0.writer like ? escape '!'
)
and b1_0.bno>?
order by
b1_0.bno desc
limit
?, ?
Hibernate:
select
count(b1_0.bno)
from
board b1_0
where
(
b1_0.title like ? escape '!'
or b1_0.content like ? escape '!'
or b1_0.writer like ? escape '!'
)
and b1_0.bno>?
========== List Start ==========
결과:Page 1 of 2 containing web.domain.Board instances
총 게시물 수:19
총 페이지 수:2
현재 페이지 넘버:0
출력 게시물 수:10
시작이 0인지 여부:true
이전 페이지 존재 여부:false
다음 페이지 존재 여부:true
Board(bno=100, title=객체 수정, content=내용...100, writer=작성자0)
Board(bno=91, title=제목...91, content=내용...91, writer=작성자1)
Board(bno=81, title=제목...81, content=내용...81, writer=작성자1)
Board(bno=71, title=제목...71, content=내용...71, writer=작성자1)
Board(bno=61, title=제목...61, content=내용...61, writer=작성자1)
Board(bno=51, title=제목...51, content=내용...51, writer=작성자1)
Board(bno=41, title=제목...41, content=내용...41, writer=작성자1)
Board(bno=31, title=제목...31, content=내용...31, writer=작성자1)
Board(bno=21, title=제목...21, content=내용...21, writer=작성자1)
Board(bno=19, title=제목...19, content=내용...19, writer=작성자9)
========== List End ==========
- 이전글BoardSearchImpl 24.06.17
- 다음글● Querydsl로 검색 조건과 목록 처리 24.06.17
댓글목록
등록된 댓글이 없습니다.