ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [QueryDSL] QueryDSL 스프링부트 3.0 이상 버전 환경 설정
    Java 2023. 12. 15. 14:27

    1. 프로젝트 생성

     

    해당폴더 실행시 자바 버전을 맞춰 주어야 한다.

     

    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를 사용해서 쿼리문을 사용

     

    'Java' 카테고리의 다른 글

    [JPA] 스프링 부트 JPA 기본 설정  (0) 2023.12.15
    [Java] 인터페이스(interface)  (0) 2023.09.04
    [Java] 템플릿 메서드  (0) 2023.09.04
    [Java] 추상 클래스  (0) 2023.09.04
    [Java] 다형성  (0) 2023.08.30
Designed by Tistory.