아래 확장함수를 추가하여 기존 Pageable을 좀더 편하게 사용 할 수 있다.
QuerydslUtil 클래스 파일을 만들고 거기에 아래 함수 추가, 필요한곳에서 import해서 쓰면 된다
fun <T> JPAQuery<T>.withPageable(pageable: Pageable): JPAQuery<T> {
return this.limit(pageable.pageSize.toLong()).offset(pageable.offset)
}
override fun findBySearchPage(condition: MemberSearchCondition, pageable: Pageable): Page<Member> {
//사용법
val content = query.selectFrom(member)
.where(
member.name.eq(condition.name),
member.age.loe(condition.age)
)
.withPageable(pageable)
.fetch()
//기존
val content = query.selectFrom(member)
.where(
member.name.eq(condition.name),
member.age.loe(condition.age)
)
.limit(pageable.pageSize.toLong())
.offset(pageable.offset)
.fetch()
}
'Programing > Spring Boot' 카테고리의 다른 글
| Querydsl 동적 쿼리 사용하는 2가지 방법 (Builder, where절 파라미터) (0) | 2023.07.01 |
|---|---|
| SpringBoot 테스트코드 작성시 Security 권한 무시하는법 @PreAuthorize우회 하기 (0) | 2023.07.01 |
| Querydsl 에러 java.lang.NoSuchFieldError: TREATED_PATH (0) | 2023.06.30 |
| 코틀린 QueryDsl 설정 적용하는 방법 (0) | 2023.06.30 |
| Querydsl 에러 Could not autowire. No beans of 'JPAQueryFactory' type found. 에러 (0) | 2023.06.30 |