-
스프링 부트 Querydsl 설정하기SPRING/Querydsl 2021. 12. 7. 21:39반응형
우선 간단하게 Querydsl이 뭔지 알아보고 설정하는 법을 보여드리겠습니다.
Querydsl 이란 이전에 Spring boot + Spring data jpa 기술들의 조합으로 해결하지 못하는
한계점을 해결하기 위해 나온 프레임워크입니다. (JPQL 빌더 역할을 해주는 오픈소스 프로젝트)
한계점이란, 실무에서는 당연히 복잡한 쿼리를 다루게 될 수도 있고, 조건에 따라 복잡한 동적 쿼리들을 생성할 일이 많을 수 있습니다.
이런 문제들을 해결할수 있는 기술이 바로 Querydsl입니다.
또한 Querydsl의 큰 장점은 쿼리를 "자바 코드"로 작성하여 문법 오류를 컴파일 시점에 확인할 수 있습니다.
이러한 Querydsl을 사용을 사용하려면 다음과 같은 설정 작업을 하셔야 합니다.
build.gradle
SpringBootVersion: 2.6.1
buildscript { ext { queryDslVersion = "5.0.0" } } plugins { id 'org.springframework.boot' version '2.6.1' id 'io.spring.dependency-management' version '1.0.11.RELEASE' //querydsl 추가 id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" id 'java' } group = 'study' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' //querydsl 추가 implementation "com.querydsl:querydsl-jpa:${queryDslVersion}" implementation "com.querydsl:querydsl-apt:${queryDslVersion}" compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' } test { useJUnitPlatform() } //querydsl 추가 시작 def querydslDir = "$buildDir/generated/querydsl" querydsl { jpa = true querydslSourcesDir = querydslDir } sourceSets { main.java.srcDir querydslDir } compileQuerydsl{ options.annotationProcessorPath = configurations.querydsl } configurations { compileOnly { extendsFrom annotationProcessor } querydsl.extendsFrom compileClasspath } //querydsl 추가 끝
적용이 잘 되었는지 확인해 보겠습니다.
실행 방법 -> 오른쪽 Gradle클릭 -> other -> compileQuerydsl 더블클릭하시면 QHello 객체가 생성된 것을 확인하실 수 있습니다. [위치 : 빨간색 네모 참고]
QHello 위치는 위에 설정한 build.gradle 참고
//querydsl 추가 시작
def querydslDir = "$buildDir/generated/querydsl"참고 : https://www.inflearn.com/course/Querydsl-%EC%8B%A4%EC%A0%84/dashboard
반응형