728x90
반응형
QueryDsl에서의 페이징 처리에 대한 2가지 방법을 사용 해봤다.
예제1)
@Test
public void paging1(){
QMember qmember = QMember.member;
List<Member> result = queryFactory
.selectFrom(qmember)
.orderBy(qmember.username.desc())
.offset(1)
.limit(2)
.fetch();
}
public void paging1(){
QMember qmember = QMember.member;
List<Member> result = queryFactory
.selectFrom(qmember)
.orderBy(qmember.username.desc())
.offset(1)
.limit(2)
.fetch();
}
- 첫번째 방법은 offset 과 limit 을 이용하여 해당 테이블에서 데이트 리스트를 조회 하는 예제이다.
예제2)
@Test
public void paging2(){
QMember qmember = QMember.member;
QueryResults<Member> memberQueryResults = queryFactory
.selectFrom(qmember)
.orderBy(qmember.username.desc())
.offset(0)
.limit(2)
.fetchResults();
Long total = memberQueryResults.getTotal();
Long offset = memberQueryResults.getOffset();
Long limit = memberQueryResults.getLimit();
List<Member> result = memberQueryResults.getResults();
}
public void paging2(){
QMember qmember = QMember.member;
QueryResults<Member> memberQueryResults = queryFactory
.selectFrom(qmember)
.orderBy(qmember.username.desc())
.offset(0)
.limit(2)
.fetchResults();
Long total = memberQueryResults.getTotal();
Long offset = memberQueryResults.getOffset();
Long limit = memberQueryResults.getLimit();
List<Member> result = memberQueryResults.getResults();
}
- 예제 2번은 예제1번과 동일하지만 .fetch()가 아닌 .fetchResults(); 를 이용하여 페이징 정보를 함께 조회한 예제이다.
- .fetchResults() 를 이용하여 값들의 total, 그리고 offset , limit 정보를 같이 조회할 수 있다.
- 실제 값조회는 .getResults()를 이용하여 추출한다.
728x90
반응형
'개발일기 > QueryDsl' 카테고리의 다른 글
QueryDsl 집합(count, sum, avg, max, min, groupBy) (0) | 2023.07.11 |
---|---|
QueryDsl정렬 (0) | 2023.07.10 |
QueryDsl 결과조회 (0) | 2023.07.10 |
QueryDsl Where 절에서 And 사용법 두가지 (0) | 2023.07.10 |
JQPL이 제공하는 검색 조건 (0) | 2023.07.10 |