티스토리 뷰
반응형
Spring Data 페이징
스프링 데이터는 JPA 쿼리 메소드에 페이징과 정렬 기능을 사용할 수 있도록 2가지 특별한 파라미터를 제공한다.
- org.springframework.data.Sort : 정렬기능
- org.springframework.data.Pageable : 페이징 기능 (Sort 포함)
Page 타입
Page
메소드는 페이징 기능을 제공하기 위해 검색된 전체 데이터 컨수를 조회하는 count
쿼리를 추가로 호출한다.
// count 쿼리 사용
Page<Member> findByName(String name, Pageable pageable);
// count 쿼리 사용 안 함
List<Member> findByName(String name, Pageable pageable);
페이지 조건 걸기
PageRequest pageRequest
= new PageRequest(0, 10, new Sort(Direction.DESC, "name"));
Page<Member> result = memberRepository.findByNameStartingWith("김", PageRequest);
List<Member> members = result.get.getContent();
int totalPages = result.getTotalPages();
boolean hasNextPage - result.hasNextPage();
My Project Code
@Transactional
public List<GallaryDto> getBoardlist(Integer pageNum) {
Page<Gallary> page = gallaryRepository.findAll(PageRequest.of(pageNum-1, PAGE_POST_COUNT,
Sort.by(Sort.Direction.ASC,"createDate")));
List<Gallary> boards = page.getContent();
List<GallaryDto> boardDtoList = new ArrayList<>();
for(Gallary board : boards){
boardDtoList.add(this.convertEntityToDto(board));
}
return boardDtoList;
}
반응형
'JPA' 카테고리의 다른 글
객체지향 쿼리의 필요성 (0) | 2022.06.29 |
---|---|
영속성 기술의 진영을 나누어 보자 (0) | 2022.06.28 |
ORM에서의 객체 연관 매핑 (0) | 2022.06.26 |
준영속 상태의 지연 로딩 문제를 해결 (0) | 2022.06.25 |
JPA - 상속 관계 매핑 (0) | 2022.06.24 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Solid
- interview
- kakao
- OOP
- 면접
- 스프링
- JPA
- springboot
- 알고리즘
- 디자인패턴
- 매트랩
- security
- 그래프
- ajax
- nginx
- 백준
- 프로그래머스
- 자바
- java
- spring-cloud
- Matlab
- Algorithm
- 릿코드
- C언어
- docker
- Spring
- 스프링부트
- CS
- 자격증
- 수학
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함