본문 바로가기
seok

Querydsl프로젝트 설정,여러팁/비공개

by shulk 2024. 3. 27.

1. build.gradle에 추가해준다. (근데 직접 해보니 Querydsl 설정부 부터 맨 밑까지는 그냥 주석처리해도 Q클래스 생성가능)

 //query_dsl
    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"


// Querydsl 설정부
    def generated = 'src/main/generated'

// querydsl QClass 파일 생성 위치를 지정
    tasks.withType(JavaCompile) {
        options.getGeneratedSourceOutputDirectory().set(file(generated))
    }

// java source set 에 querydsl QClass 위치 추가
    sourceSets {
        main.java.srcDirs += [ generated ]
    }

// gradle clean 시에 QClass 디렉토리 삭제
    clean {
        delete file(generated)
    }

 

2. gradle -> Tasks -> other -> compile.java 하면 Q클래스 생성

 

 

3. Querydsl할때 JPQL을 보고 싶으면 yml에 이렇게 추가해준다

 

 

4. Querydsl 모든 검색 조건 종류,결과 조회 종류

 


 

1. 롬복 이거를 체크해야 잘 적용된다.

 

2. yml에서 빨간줄친 부분은 쿼리문 ? 에 무슨 값이 들어가나 로그로 출력하는거고

    빨간줄 위에 부분은 쿼리문을 로그로 출력해주는거다.

 

3. 빌드 그래들에 이거를 추가해주면 쿼리문 ? 에 무슨값이 들어가나 더 좋게 볼수 있다.

그러나 이건 실무에서 성능 따져보고 사용 결정해야한다. 공부할땐 그냥 맘대로 사용하고.

(현재 버전에서는 1.9.0 해야 작동하는데 나중가면 바뀔수도 있으니 그때 알아보기)

//쿼리문 ? 값 출력 p6spy 라이브러리
    implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0'

 

4. 커스텀 단축키 만들고 싶으면 설정에서 live Templates 검색하고 거기서 custom에 추가해주면 된다.

 

5. 애플리케이션 실행중 코드 변경하면 종료후 다시 실행 귀찮은점

   implementation 'org.springframework.boot:spring-boot-devtools' 그레이들에 이 의존성 추가해주고 서버 실행중 코드 변경하면 Build -> Recomplie 변경코드 파일 부분을 클릭하거나 컨트롤+쉬프트+F9 하면 끝

 

6. 프로젝트 생성시 War,Jar 차이

war는 톰캣,서블릿컨테이너를 별도로 설치하고,거기에 빌드된 파일 넣을때,JSP사용할때 war를 사용한다.

Jar는 내장톰캣을 사용할때 한다. war도 내장톰캣 사용 할 수 있으나 최근엔 주로 Jar를 사용한다.

 

7. 검증 @Validated , @Valid

 

8. 맥북에서 H2 데이터베이스 

h2->bin폴더 경로 이동후

./h2.sh
//퍼미션 에러 뜨면 밑에 코드 하고 ./h2.sh 한다
chmod 755 h2.sh

종료시에는 컨트롤+C

'seok' 카테고리의 다른 글

결합도와 응집도  (0) 2024.06.25
프로젝트 MyBatis  (0) 2024.06.03
테스트용-데이터베이스를 임베디드 모드  (0) 2024.05.31