본문 바로가기

Spring

List -> Page 변환

728x90
반응형
SMALL
List<Member> members = memberRepository.findAllByNickname(nickname);

 

위의 코드는 리스트 타입으로 되어 있다.

int page = 0;  //페이지 수
int size = 0;  //범위
PageRequest pageRequest = PageRequest.of(page.size);

요청으로 들어온 page와 size를 PageRequest 객체를 이용해 파라미터에 담아준다.

 

int start = (int) pageRequest.getOffset();
int end = Math.min((start + pageRequest.getPageSize()),members.size()));

start 와 end 의 값을 위의 코드와 같이 가져온다.

Page<Member> membersPage = new PageImpl<>(members.subList(start,end), pageRequest, members.size());

PageImpl 인터페이스를 이용해, 위에서 구해준 start,end , 변환하고자하는 List data size 를 담아 page 타입으로 변환해준다.

 

 

728x90
반응형
LIST