SPRING

[SPRING] QueryDSL

도원좀비 2025. 3. 30. 20:55

1️⃣ QueryDSL 이란?

  • JPQL을 타입 안전한 자바 코드로 변환해주는 라이브러리
  • 조건 쿼리를 작성할 때 오타나 문법 오류를 컴파일 단계에서 방지

2️⃣QueryDSL 설정 방법

    implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
    annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jakarta'
    
    // Q파일 생성용 설정
	tasks.withType(JavaCompile).configureEach {
    	options.annotationProcessorPath = configurations.annotationProcessor
        
    // Q파일 인식 경로 추가
	sourceSets {
    	main.java.srcDirs += 'build/generated/sources/annotationProcessor/java/main'
	}
}

3️⃣ QueryDSL 기본 예제

List<User> users = queryFactory.selectFrom(QUser.user)
                               .where(QUser.user.name.eq("홍길동"))
                               .fetch();

4️⃣ QueryDSL 동적 쿼리 예제

BooleanBuilder builder = new BooleanBuilder();
if(name != null) builder.and(QUser.user.name.eq(name));
if(age != null) builder.and(QUser.user.age.goe(age));

List<User> users = queryFactory.selectFrom(QUser.user)
                               .where(builder)
                               .fetch();

'SPRING' 카테고리의 다른 글

[SPRING] JWT  (2) 2025.04.01
[SPRING] JPAQueryFactory  (0) 2025.03.30
[SPRING] 동적 쿼리  (1) 2025.03.30
[SPRING BOOT + JPA] 일정 관리 앱 회고  (2) 2025.03.28
[Spring Boot + JPA] LV.8  (1) 2025.03.28