새소식

Spring

QueryDsl 사용법 모음

  • -
반응형
더보기

현재 작성중인 글입니다. 참고해주세요.

QueryDsl?

QueryDsl 사용하는 이점

  • IDE를 통한 자동완성 기능
  • 컴파일 에러가 발생
  • 조건문을 사용한 동적 쿼리문 작성이 간편
  • 코드의 재사용성 증가

QueryDsl 사용하는 단점

  • 까다롭다

간단한 사용예시

사용 예시
1) query문을 작성하려면 JpaQuery 인스턴스가 필요합니다. 이를 위해 JpaQueryFactory를 통해 인스턴스를 생성해야 합니다. 먼저 JpaQueryFactory를 영속성 컨텍스트를 파라미터로 넘겨서 생성합니다.(Querydsl은 JPA API를 사용하며 JPA를 지원하는 모듈입니다.)
JpaQueryFactory queryFactory = new JpaQueryFactory(em);
2) 사용하려는 QEntity를 생성합니다.
QItem qItem = QItem.item; -> QItem은 정적 메소드로 만들어져 있는 인스턴스를 가져옵니다.
3) 쿼리문 작성
JpaQuery<Item> query = queryFacotory.selectFrom(qItem)......where....조건문;
4) 쿼리 결과 반환
List<Item> items = query.fetch();

출처 : 쿼리 메소드, JPQL, Querydsl 요약 - https://velog.io/@simgyuhwan/%EC%BF%BC%EB%A6%AC-%EB%A9%94%EC%86%8C%EB%93%9C-JPQL-Querydsl-%EC%9A%94%EC%95%BD

Get Strated

1. build.gradle에서 Querydsl 설정 방법

2.

예제를 통해 QueryDsl 공부

Projection 사용하기

프로젝션(Projection)은 select 절에서 어떤 컬럼들을 조회할지 대상을 지정하는 것을 말한다.

서브쿼리 사용하기

Case When 사용하기

N+1 문제 해

좋아요 기능 구현...

Use Dynamic Query

Use Join

참고자료

 

Querydsl - 레퍼런스 문서

본 절에서는 SQL 모듈의 쿼라 타입 생성과 쿼리 기능을 설명한다. com.mysema.query.sql.Configuration 클래스를 이용해서 설정하며, Configuration 클래스는 생성자 인자로 Querydsl SQL Dialect를 취한다. 예를 들어

querydsl.com

작성일자 : 2022년 8월 8일

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.