QueryDSL 사용 전 환경설정

2022. 7. 12. 17:00·Spring

QueryDSL이란?

SQL과 유사한 구문으로 안전한 쿼리를 생성할 수 있는 광범위한 Java 프레임워크
재 JPA, JDO, SQL, Java 컬렉션, RDF, Lucene, Hibernate Search, MongoDB를 포함한 별도의 모듈을 사용하여 다양한 백엔드를 광범위하게 지원한다.

IDE에서 코드 완성, 리팩토링이 가능하고 , Type-Safe, Syntax-Safe 하다!

 

QueryDSL 설정을 해 보자!

1. build.gradle 설정 추가

plugins {
   id 'org.springframework.boot' version '2.7.1'
   id 'io.spring.dependency-management' version '1.0.11.RELEASE'
   id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" // 이 줄 추가
   id 'java'
}
dependencies {  
   implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
   implementation "com.querydsl:querydsl-apt:${queryDslVersion}"
configurations {
   compileOnly {
      extendsFrom annotationProcessor
   }
   querydsl.extendsFrom compileClasspath // 이 줄 추가!
}
def querydslDir = "$buildDir/generated/querydsl"

querydsl {
   jpa = true
   querydslSourcesDir = querydslDir
}

sourceSets {
   main.java.srcDir querydslDir
}

compileQuerydsl{
   options.annotationProcessorPath = configurations.querydsl
}

compileQuerydsl.doFirst {
   if (file(querydslDir).exists()) delete(file(querydslDir))
}

2. gradle-Tasks-other-compileQuerydsl 눌러서 실행

3. 프로젝트 파일-build-generated-querydsl에서 컴파일 결과 확인가능

4. Contiguration 만들어주기

@Configuration
public class QuerydslConfiguration {

    @PersistenceContext
    private EntityManager entityManager;

    @Bean
    public JPAQueryFactory jpaQueryFactory() {
        return new JPAQueryFactory(entityManager);
    }
}

 

저작자표시 비영리 변경금지 (새창열림)

'Spring' 카테고리의 다른 글

MVC2 - Validation  (0) 2022.09.27
File->MultipartFile  (0) 2022.07.26
Reactive Programming  (0) 2022.06.30
스프링 핵심 원리 - 기본편(빈 스코프)  (0) 2022.04.28
스프링 핵심 원리 - 기본편(빈 생명주기 콜백)  (0) 2022.04.27
'Spring' 카테고리의 다른 글
  • MVC2 - Validation
  • File->MultipartFile
  • Reactive Programming
  • 스프링 핵심 원리 - 기본편(빈 스코프)
코드파고
코드파고
  • 코드파고
    Digging Code
    코드파고
  • 전체
    오늘
    어제
    • 분류 전체보기 (99)
      • Memorization (12)
      • Spring (18)
      • Java (1)
      • Algorithm (40)
      • Server (2)
      • DB (0)
      • CS (0)
      • CI & CD (4)
      • Architecture (0)
      • Design Patterns (0)
      • Study (1)
      • Book (9)
        • DEV (7)
        • Non-DEV (0)
      • Infra (1)
        • Kafka (6)
        • AWS (4)
      • TroubleShooting (1)
        • Etc (1)
      • Tools (0)
  • 블로그 메뉴

    • 홈
    • Github
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    SpringFramework
    Spring
    clean architecture
    Spring독학
    클린아키텍쳐
    Clean Code
    알고리즘
    architecture
    Spring Boot
    헥사고날아키텍쳐
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
코드파고
QueryDSL 사용 전 환경설정
상단으로

티스토리툴바