본문 바로가기
Spring/Querydsl

Query DSL - Paging

by 행운의나무 2022. 7. 6.
728x90
반응형

2022.06.24 - [Spring/Querydsl] - Query DSL 시작하기

 

Query DSL 시작하기

참고 Querydsl 기본문법 학습하기 Querydsl 다이나믹 쿼리 사용하기JPA와 비교 JPA 비교해 JPA의 장점 가독성이 좋다. JPA에서 기본적으로 제공하는 기능을 넘어서는 기능은 일반적으로 native query 옵션으

twer.tistory.com

DB

  • Member table

member table

 

예제

  • count 쿼리를 select 쿼리와 분리하여 사용하는 것이 좋다.
  • offset() : 0부터 시작. 앞에 스킵할 row의 수 지정
  • limit() : 최대로 가져올 row의 수
@Repository
public class MemberRepositorySupport extends QuerydslRepositorySupport {

    private final JPAQueryFactory queryFactory;

    public MemberRepositorySupport(JPAQueryFactory queryFactory) {
        super(Member.class);
        this.queryFactory = queryFactory;
    }

/* Paging */
public List<Member> findMemberWithPaging(){

    return queryFactory
            .selectFrom(member)
            .limit(2) // 노출 row 수
            .offset(0) // skip row 수
            .fetch();
    }
}    

/* =================== */
@SpringBootTest
class MemberRepositorySupportTest {

    @Autowired
    private MemberRepositorySupport memberRepositorySupport;

/* Paging */
@Test
void paging(){
    List<Member> memberWithPaging = memberRepositorySupport.findMemberWithPaging();

    for (Member member : memberWithPaging) {
        System.out.println(member.getName());
    }
}

}

/* =================== */
/*
결과
test1
test2
*/

참고

querydsl paging - 개발자로 성장하기
Querydsl 기본문법 학습하기
JPA Spring Data JPA와 QueryDSL 이해, 실무 경험 공유

쿠팡으로 연결 클릭

 

제주삼다수 그린

COUPANG

www.coupang.com

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음

반응형

'Spring > Querydsl' 카테고리의 다른 글

Query DSL 시작하기  (0) 2022.12.12
Query DSL - Dynamic Query  (0) 2022.07.06
Query DSL - CASE  (0) 2022.07.05
Query DSL - Subquery  (0) 2022.07.05
Query DSL - Join  (0) 2022.07.03