paging
ํ์ด์ง
๋ฆฌํฌ์งํ ๋ฆฌ ๋ฉ์๋ ์ ์
Page<Member> findByUsername(String name, Pageable pageable); //count ์ฟผ๋ฆฌ ์ฌ์ฉ
Slice<Member> findByUsername(String name, Pageable pageable); //count ์ฟผ๋ฆฌ ์ฌ์ฉ ์ํจ
List<Member> findByUsername(String name, Pageable pageable); //count ์ฟผ๋ฆฌ ์ฌ์ฉ ์ํจ
List<Member> findByUsername(String name, Sort sort);์๋น์ค์์ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ฉ์๋ ์ฌ์ฉ
PageRequest pageRequest = PageRequest.of(0, 3, Sort.by(Sort.Direction.DESC,"username"));
Page<Member> page = memberRepository.findByUsername("who", pageRequest);
List<Member> content = page.getContent();count์ฟผ๋ฆฌ๋ ๋ฌด๊ฒ๊ฒ ๋์ํ๋ค๋ ์ ์ ๋ ์์ธํ ๋ฉ์๋๋ Page์ Slice ์ธํฐํ์ด์ค๋ฅผ ํ์ธ
Spring MVC์์์ ๊ฐํธํ ํ์ด์ง ์ฌ์ฉ
@GetMapping("/members")
public Page<Member> list(Pageable pageable) {
Page<Member> page = memberRepository.findAll(pageable);
return page;
}Pageable์ ์ธํฐํ์ด์ค์ด๊ณ , pageable์ด ๋ฐ๋ ๊ฐ์ฒด๋ ์ค์ ๋ก๋ org.springframework.data.domain.PageRequest์ด๋ค.
์์ฒญ ํ๋ผ๋ฏธํฐ ์์) /members?page=0&size=3&sort=id,desc&sort=username,desc page: ํ์ฌ ํ์ด์ง, 0๋ถํฐ ์์ํ๋ค. size: ํ ํ์ด์ง์ ๋ ธ์ถํ ๋ฐ์ดํฐ ๊ฑด์ sort: ์ ๋ ฌ ์กฐ๊ฑด์ ์ ์ํ๋ค. ์ ๋ ฌ ๋ฐฉํฅ์ ๋ณ๊ฒฝํ๊ณ ์ถ์ผ๋ฉด sort ํ๋ผ๋ฏธํฐ๋ฅผ ์ถ๊ฐํ๋ค. asc๋ ๊ธฐ๋ณธ๊ฐ์ด๋ค.
๊ฐ๋ณ ์ค์ ์ผ๋ก ์์ ๊ฐ์ด ํ์ด์ง์ default๊ฐ์ ์ค ์ ์๋ค. ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ํ๋ผ๋ฏธํฐ๊ฐ ์ค์ด๋๋ ์ด์ ์ด ์๊ธด๋ค.
Page๋ map()์ ์ง์ํด์ ๋ด๋ถ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฅธ ๊ฒ์ผ๋ก ๋ณ๊ฒฝํ ์ ์๋ค.
Last updated