이런 걸 배울 수 있어요

  • Querydsl을 기초부터 실무활용까지 한번에 배울 수 있습니다.
  • 단순한 기능 설명을 넘어 실무활용 노하우를 배울 수 있습니다.
  • JPA를 사용할 때 동적 쿼리와 복잡한 쿼리 문제를 해결할 수 있습니다.

본 강의는 자바 백엔드 개발의 실전 코스를 완성하는 마지막 강의 입니다. 스프링 부트와 JPA 실무 완전 정복 로드맵을 우선 확인해주세요.

로드맵 링크: https://www.inflearn.com/roadmaps/149

실전! Querydsl


최신 자바 백엔드는 주로 스프링 부트와 JPA, 스프링 데이터 JPA를 조합해서 사용합니다. 그런데 이런 조합으로 해결하지 못하는 한계점이 바로 복잡한 쿼리동적 쿼리 문제입니다.

실무에서는 보통 복잡한 쿼리를 다루고, 여기에 더해서 동적 쿼리를 사용할 일도 많습니다. 비즈니스 도메인에 따라서 쿼리를 작성하는 일이 개발 업무의 절반 이상인 경우도 있습니다. 이러한 문제들을 깔끔하게 해결해주는 기술이 바로 Querydsl 입니다.

Querydsl은 자바 언어의 한계를 넘어서, 쿼리를 문자가 아니라 진짜 자바 코드로 작성할 수 있게 도와줍니다. 정말 많은 개발자들이 고민해온 동적 쿼리 문제를 깔끔하게 해결할 뿐만 아니라, 문법 오류도 컴파일 시점에 모두 잡아줍니다. 자바코드로 작성하지만 SQL, JPQL 문법이 거의 같기 때문에 쉽게 학습할 있고, 쉽게 복잡한 쿼리도 작성할 있습니다.

스프링 부트와 JPA라는 기반 위에, 스프링 데이터 JPA와 Querydsl이라는 두 환상적인 프레임워크를 더하면 개발이 정말 즐거워집니다. 지금까지 조금이라도 단순하고 반복이라 생각했던 개발 코드들이 확연히 줄어듭니다. 개발자는 핵심 비즈니스 로직을 개발하는데, 집중할 수 있습니다. 그리고 Querydsl 덕분에 쿼리를 작성하는 것 조차도 자바 코드로 작성할 수 있어서 즐겁습니다. 복잡한 실무에서 스프링 데이터 JPA와 Querydsl의 조합은 선택이 아니라 필수입니다.

이 강의에서는 Querydsl의 완전 기초부터 다양한 실무 프로젝트에서 쌓은 노하우들을 까지 Querydsl에 관한 모든 내용을 전달해 드립니다.

참고: 본 강의에서는 Querydsl의 JPA(JPQL) 모듈을 다룹니다.

연관된 강좌

기본편

자바 ORM 표준 JPA 프로그래밍 - 기본편
JPA 기반 기술을 이해하는데 필요한 선수 강좌입니다.

활용편

실전! 스프링 부트와 JPA 활용1
- 웹 애플리케이션 개발

스프링 부트와 JPA로 실제
웹 애플리케이션을 설계하고 개발합니다.

참고 도서

책은 더 깊은 내용을 공부하고 싶은 분들을 위한
참고서로 생각하시면 됩니다.
(책이 없어도 강의를 위한 별도의 자료가 제공됩니다.) 

수강 대상

  • JPA를 사용하면서 복잡한 쿼리를 해결하고 싶은 분
  • 스프링과 JPA 조합으로 실무 프로젝트를 진행하는 분

선수 지식

  • JPA
  • 스프링 데이터 JPA
  • 스프링 프레임워크

교육과정

모두 펼치기 41 강의 6시간 24분
섹션 0. Querydsl 소개
2 강의 05 : 31
섹션 1. 프로젝트 환경설정
5 강의 39 : 51
프로젝트 생성
09 : 11
Querydsl 설정과 검증
13 : 30
라이브러리 살펴보기
06 : 03
H2 데이터베이스 설치
03 : 13
스프링 부트 설정 - JPA, DB
07 : 54
섹션 2. 예제 도메인 모델
1 강의 17 : 22
예제 도메인 모델과 동작확인
17 : 22
섹션 3. 기본 문법
13 강의 104 : 53
시작 - JPQL vs Querydsl
12 : 04
기본 Q-Type 활용
05 : 10
검색 조건 쿼리
06 : 07
결과 조회
06 : 08
정렬
03 : 58
페이징
04 : 12
집합
08 : 27
조인 - 기본 조인
09 : 32
조인 - on절
17 : 00
조인 - 페치 조인
06 : 05
서브 쿼리
16 : 54
Case 문
04 : 57
상수, 문자 더하기
04 : 19
섹션 4. 중급 문법
7 강의 75 : 25
프로젝션과 결과 반환 - 기본
06 : 33
프로젝션과 결과 반환 - DTO 조회
19 : 10
프로젝션과 결과 반환 - @QueryProjection
08 : 56
동적 쿼리 - BooleanBuilder 사용
06 : 52
동적 쿼리 - Where 다중 파라미터 사용
12 : 38
수정, 삭제 벌크 연산
12 : 54
SQL function 호출하기
08 : 22
섹션 5. 실무 활용 - 순수 JPA와 Querydsl
4 강의 53 : 20
순수 JPA 리포지토리와 Querydsl
15 : 55
동적 쿼리와 성능 최적화 조회 - Builder 사용
14 : 42
동적 쿼리와 성능 최적화 조회 - Where절 파라미터 사용
10 : 27
조회 API 컨트롤러 개발
12 : 16
섹션 6. 실무 활용 - 스프링 데이터 JPA와 Querydsl
5 강의 40 : 12
스프링 데이터 JPA 리포지토리로 변경
06 : 06
사용자 정의 리포지토리
09 : 30
스프링 데이터 페이징 활용1 - Querydsl 페이징 연동
13 : 23
스프링 데이터 페이징 활용2 - CountQuery 최적화
03 : 46
스프링 데이터 페이징 활용3 - 컨트롤러 개발
07 : 27
섹션 7. 스프링 데이터 JPA가 제공하는 Querydsl 기능
4 강의 48 : 12
인터페이스 지원 - QuerydslPredicateExecutor
08 : 16
Querydsl Web 지원
05 : 22
리포지토리 지원 - QuerydslRepositorySupport
13 : 31
Querydsl 지원 클래스 직접 만들기
21 : 03

공개 일자

2020년 1월 15일 (마지막 업데이트 일자 : 2020년 1월 15일)

수강 후기

5.0
12개의 수강평
default_profile.png
박우빈 15일 전
동적 쿼리 적용을 위해 단기간에 Querydsl을 배워야 할 필요가 있었는데, 명확한 설명과 함께 실전에서 사용하는 법까지 상세하게 알려주셔서 도움이 많이 되었습니다. 이제 적용하는 일만 남았네요. 감사합니다! :)
김영한

김영한 15일 전
네 우빈님 열심히 적용하시고, 궁금한 내용은 편하게 질문 올려주세요^^

default_profile.png
a79007714 2일 전
ORM에 관심이 생겨서 공부하다보니 어느세... 3편인 Queydsl까지 강의를 보게 되었습니다. 실무에서 아직 Querydsl을 사용하지 않지만 나중에 도입할 때 정말 도움이 많이 될거같습니다. ㅎㅎ ORM에 관심있으신 분들은 꼭 이 강의를 들으시기를 추천드립니다!!
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스