querydsl
-
06. Querydsl CaseBackEnd/Querydsl 2021. 7. 27. 08:25
[전체소스코드] [Case1] List result = queryFactory .select(member.age .when(10).then("열살") .when(20).then("스무살") .otherwise("기타")) .from(member) .fetch(); [Case2] List result = queryFactory .select(new CaseBuilder() .when(member.age.between(0, 20)).then("0~20살") .when(member.age.between(21, 30)).then("21~30살") .otherwise("기타")) .from(member) .fetch(); [Case3] /** * orderBy에서 Case문 함께 사용하기 * Querydsl은 자..
-
05. Querydsl SubqueryBackEnd/Querydsl 2021. 7. 25. 17:38
> com.querydsl.jpa.JPAExpressions 사용 > querydsl은 FROM절 서브쿼리를 지원하지 않는다. (SELECT, WHERE절만 가능) [전체소스코드] 1. WHERE절 서브쿼리 @Test public void subQuery() throws Exception { QMember memberSub = new QMember("memberSub"); List result = queryFactory .selectFrom(member) /** 1) 나이가 가장 많은 회원 조회 .where(member.age.eq( JPAExpressions .select(memberSub.age.max()) .from(memberSub) )) */ /** 2) 나이가 평균 나이 이상인 회원 .wher..
-
04. Querydsl JoinBackEnd/Querydsl 2021. 7. 18. 17:19
1. 기본 조인 @Test public void join() throws Exception { List result = queryFactory .selectFrom(member) // join(조인 대상, 별칭으로 사용할 Q타입) /** * join() , innerJoin() : 내부 조인(inner join) * leftJoin() : left 외부 조인(left outer join) * rightJoin() : rigth 외부 조인(rigth outer join */ .join(member.team, team) .where(team.name.eq("teamA")) .fetch(); assertThat(result) .extracting("username") .containsExactly("membe..
-
03. Querydsl 기본 문법BackEnd/Querydsl 2021. 7. 17. 15:36
1. Querydsl 기본 문법 package com.spring.querydsl; import com.querydsl.jpa.impl.JPAQueryFactory; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; import com.spring.querydsl.entity.Member; import com.spring.querydsl.entity.QMember; import com.spring...
-
02. Querydsl 설정BackEnd/Querydsl 2021. 7. 11. 06:49
Querydsl 정적 타입을 이용해서 SQL과 같은 쿼리를 생성할 수 있도록 해 주는 프레임워크다. 문자열로 작성하거나 XML 파일에 쿼리를 작성하는 대신, Querydsl이 제공하는 플루언트(Fluent) API를 이용해서 쿼리를 생성할 수 있다. 1. Querydsl 설정 > build.gradle에 querydsl 설정 추가 plugins { id 'org.springframework.boot' version '2.4.8' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' //querydsl 추가 id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"} group = 'com...