paging 3

[JAVA] web 확장 - 페이징과 정렬

Spring data가 제공하는 페이징과 정렬 기능을 사용할 수 있다. @GetMapping("/members") public Page list(@PageableDefault(size = 5, sort = "id") Pageable pageable){ // 만약 page를 1 부터 시작하고 싶다면? -> 기본이 0 // 아래 처럼 구현체를 새로 만들어 다른 클래스로 넘겨주면됨 // PageRequest request = PageRequest.of(1, 2); // new MemberDto(member); 를 메소드 레퍼런스를 써서 저렇게 변경 가능 return memberRepository.findAll(pageable) .map(MemberDto::new); } 또한 파라미터로 Pageable을 받을 ..

JAVA 2022.03.03

[JAVA] Spring data JPA 페이징과 정렬

페이징과 정렬 파라미터 Sort : 정렬 기능 Pageable : 페이징 기능( 내부 Sort 포함 ) 특별한 반환 타입 1. Page : 추가 count 쿼리 결과를 포함하는 페이징 → 일반적인 페이징 2. Slice : 추가 count 쿼리 없이 다음 페이지만 확인가능 → 스크롤 내리다 더보기 버튼 생성 하는 페이징 3. List : 추가 count 쿼리 없이 결과만 반환한다. ※ 여기서 count는 total count를 의미 Page findByAge(int age, Pageable pageable); @Test public void paging() throws Exception{ //given memberRepository.save(new Member("member1", 10)); memberR..

JAVA 2022.02.17

[JAVA] 프로젝션과 페이징

프로젝션이란? select 절에 조회할 대상을 지정하는 것 프로젝션 대상 : 엔티티, 임베디드 타입, 스칼라 타입 ( 숫자, 문자 등 기본 데이터 타입 ) select m from Member m → 엔티티 프로젝션 select m.team from Member m → 엔티티 프로젝션2 select m.address from Member m → 임베디드 타입 프로젝션 select m.username, m.age from Member m → 스칼라 타입 프로젝션 distinct 로 중복 제거 가능 엔티티 프로젝션 웬만하면 sql하고 jpql 문법하고 거의 비슷하게 명시 해야한다.( 예측이 가능하기 때문에 ) Member에서 Team 정보를 가져올 때 1번처럼하나 2번처럼 하나 쿼리는 같게 나가지만 개발자가..

JAVA 2022.01.13