Java
[QueryDSL] QueryDSL 스프링부트 3.0 이상 버전 환경 설정
k_sangmin
2023. 12. 15. 14:27
1. 프로젝트 생성
- 스프링 부트 스타터(https://start.spring.io/)
해당폴더 실행시 자바 버전을 맞춰 주어야 한다.
2. 빌드 설정
인텔리 제이는 자바에서 실행 하는게 아니라 gradle에게 실행을 위임하기 때문에 빌드가 드림
따라서 빌드 및 실행을 인텔리제이 로 바꾸면 빌드 및 실행속도가 빨라짐
3. 롬복 셋팅
만약 처음 세팅이라면 롬복을 플러그인에서 다운 받아야함
어노테이션 처리 활성화
설정 -> 빌드 실행 배포 -> 컴파일러 -> 어노테이션 프로세서 -> 어노테이션 처리 활성화
를 해주어야 롬복이 정상 작동됨 이후 재시작을 하면 완료
4.build.gradle
스프링부트 3.0 이상 버전
plugins {
id 'java'
id 'org.springframework.boot' version '3.2.0'
id 'io.spring.dependency-management' version '1.1.4'
}
group = 'study'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
//JdbcTemplate 추가
//implementation 'org.springframework.boot:spring-boot-starter-jdbc'
//MyBatis 추가
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0'
//JPA, 스프링 데이터 JPA 추가
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
//test 롬복 사용
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
//H2 데이터베이스 추가
runtimeOnly 'com.h2database:h2'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
//Querydsl 추가
implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
}
tasks.named('test') {
useJUnitPlatform()
}
clean {
delete file('src/main/generated')
}
build.gradle을 설정하고 실행시 querydsl을 사용하기 위해 entity를 참조한 해당 엔티티가 생성됨
해당 폴더는 깃에 올라가지 않게 설정 해야함
querydsl은 해당 entity를 사용해서 쿼리문을 사용