# Querydsl
쿼리 dsl 페이징 처리
이번장에서는 쿼리dsl을 사용하여 디비에서 데이터를 얻은 후 페이징처리를 위하여 Page 객체를 생성하는 방법에 대해 기록해두려고 한다.나는 프로젝트를 진행하면서 공지사항 전체 조회 API를 구현하다가 쿼리dsl에서 얻은 데이터를 페이징 처리해야하는 경우가 있었다.요구
QueryDSL
이번 장에서는 쿼리 dsl 환경설정 잡는 코드를 정리해 보려고 한다.gradle : 6.6.1 version스프링 부트 : 2.3.5 version위와 같이 환경 설정을 잡아준후 빌드하면 "src/main/generated"경로에 큐클래스가 있는 파일이 생성된 것을 볼
JPA - Querydsl란?
Querydsl은 오픈 소스 프로젝트이고 type-safe한 쿼리를 위한 Domain Specific Language이다.SQL query는 문자이다. 이는 type-check가 불가능하고 실행해 보기 전까지 작동여부 확인이 어렵다. 만약 SQL이 class처럼 Typ

Spring Boot와 QueryDSL 연동하기
정적 타입 지원하는 조회 프레임워크인 Querydsl을 이용해 복잡한 쿼리도 문제없이 사용해 봅시다~
Querydsl - (4)
page, pageable을 활용해보자.전체 카운트를 한번에 조회하는 단순한 방법데이터 내용과 전체 카운트를 별도로 조회하는 방법querydsl이 제공하는 fetchResults()를 사용하면 내용과 전체 카운트를 한번에 조회할 수 있다.실제 쿼리는 2번 호출된다.fe
Querydsl - (3)
\-프로젝션이란 객체를 반환하는 것이 아니라, 원하는 필드만 뽑아서 DTO로 반환하는 것을 말한다.프로젝션 대상이 하나면 타입을 명확하게 지정할 수 있다.프로젝션 대상이 둘 이상이면 튜블이나 DTO로 조회1) 프로퍼티 접근2) 필드 직접 접근2-1) 별칭이 다를때프로퍼
Querydsl - (2)
검색 조건은 .and(), .or()를 메서드 체인으로 연결할 수 있다.이외에도 .eq, .ne, .isNotNull, .in, .notIn, .between, .goe, .loe, .gt, .lt, .like, .contains, .startsWith 등이 있다.이렇
Querydsl - (1)
김영한님의 실전! Querydsl 강의내용을 정리한 글입니다.intelliJ 사용 시: Gradle Tasks other compileQuerydslconsole 사용 시: ./gradlew clean compileQuerydslQ타입은 컴파일 시점에 자동 생성되므로

[JPA] QueryDSL
Query를 자바코드로 만들 수 있게 해주는 것이다.타입 세이프하다.Predicate라는 인터페이스 자바코드로 조건문을 표현할 수 있다. 조건문들을 조합할 수도 있고 따로 관리 할 수도 있다. 위의 장점들 때문에 QueryDSL을 사용한다.기존의 방법으로 메서드를 만들
Querydsl Gradle 설정
Spring Boot, Querydsl 사용 시 Gralde 설정 방법Querydsl이 생성하는 QClass들의 경로를 설정한다. (생성된 QClass들은 git에서 ignore해주자)설정이 제대로 되면 Gradle task에 아래처럼 compileQuerydsl 이
Querydsl 동적 쿼리
DB에서 값을 조회할 때 조회 조건이 동적으로 바뀌어야 하는 경우가 종종 있다.SQL 쿼리를 이용해 조회할 때 주로 when/case 등의 문법을 사용하여 해결하는 경우가 있는데.. 개인적으로 when/case 문은 안티패턴이라고 생각한다.. (SQL을 너무 복잡하게