Thumbnail
BEST
개발 · 프로그래밍 백엔드

실전! Querydsl 대시보드

(5)
696개의 수강평 ∙  13,349명의 수강생
88,000원

월 17,600원

5개월 할부 시
지식공유자: 김영한
총 41개 수업 (6시간 24분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

중급자를 위해 준비한
[백엔드, 웹 개발] 강의입니다.

Querydsl의 기초부터 실무 활용까지, 한번에 해결해보세요!

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

복잡한 쿼리, 동적 쿼리는 이제 안녕! 
Querydsl로 자바 백엔드 기술을 단단하게.

🚩 본 강의는 로드맵 과정입니다.

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

김영한의 실전! Querydsl

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

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

한계를 뛰어넘고 싶다면,
JPA + Querydsl은 선택이 아닌 필수입니다.

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

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

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

👨‍💻 수강 전 참고해주세요!

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

학습 내용

이런 분들께 추천합니다 💻

  • Querydsl 소개
  • 프로젝트 환경 설정 - 프로젝트 생성, 설정과 검증, 스프링 부트 설정 등
  • 예제 도메인 모델
  • 기본 문법
  • 중급 문법
  • 실무 활용 - 순수 JPA와 Querydsl
  • 실무 활용 - 스프링 데이터 JPA와 Querydsl
  • 스프링 데이터 JPA가 제공하는 Querydsl 기능

연관 강의

기본편

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

활용편

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

실전! 스프링부트와 JPA 활용2 - API 개발과 성능 최적화
JPA 극한의 성능 최적화 방법을 학습할 수 있습니다.

실전! 스프링 데이터 JPA
기초부터 실무까지 스프링 데이터 JPA를 학습합니다.

참고 도서

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


이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
JPA를 사용하면서 복잡한 쿼리를 해결하고 싶은 분
스프링과 JPA 조합으로 실무 프로젝트를 진행하는 분
📚
선수 지식,
필요할까요?
JPA
스프링 데이터 JPA
스프링 프레임워크

안녕하세요
김영한 입니다.
김영한의 썸네일
커리큘럼 총 41 개 ˙ 6시간 24분의 수업
이 강의는 영상, 수업 노트, 첨부 파일이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. Querydsl 소개
섹션 1. 프로젝트 환경설정
프로젝트 생성 미리보기 09:11 Querydsl 설정과 검증 미리보기 13:31
라이브러리 살펴보기 06:03
H2 데이터베이스 설치 03:13
스프링 부트 설정 - JPA, DB 07:54
섹션 2. 예제 도메인 모델
예제 도메인 모델과 동작확인 17:22
섹션 3. 기본 문법
시작 - 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. 중급 문법
프로젝션과 결과 반환 - 기본 06:33
프로젝션과 결과 반환 - DTO 조회 19:10
프로젝션과 결과 반환 - @QueryProjection 08:56
동적 쿼리 - BooleanBuilder 사용 06:52
동적 쿼리 - Where 다중 파라미터 사용 12:38
수정, 삭제 벌크 연산 12:54
SQL function 호출하기 08:22
섹션 5. 실무 활용 - 순수 JPA와 Querydsl
순수 JPA 리포지토리와 Querydsl 15:55
동적 쿼리와 성능 최적화 조회 - Builder 사용 14:42
동적 쿼리와 성능 최적화 조회 - Where절 파라미터 사용 10:27
조회 API 컨트롤러 개발 12:16
섹션 6. 실무 활용 - 스프링 데이터 JPA와 Querydsl
스프링 데이터 JPA 리포지토리로 변경 06:06
사용자 정의 리포지토리 09:30
스프링 데이터 페이징 활용1 - Querydsl 페이징 연동 13:23
스프링 데이터 페이징 활용2 - CountQuery 최적화 03:46
스프링 데이터 페이징 활용3 - 컨트롤러 개발 07:27
섹션 7. 스프링 데이터 JPA가 제공하는 Querydsl 기능
인터페이스 지원 - QuerydslPredicateExecutor 08:16
Querydsl Web 지원 05:22
리포지토리 지원 - QuerydslRepositorySupport 13:31
Querydsl 지원 클래스 직접 만들기 21:03
강의 게시일 : 2020년 01월 15일 (마지막 업데이트일 : 2023년 12월 24일)
수강평 총 696개
수강생분들이 직접 작성하신 수강평입니다.
5
696개의 수강평
5점
4점
3점
2점
1점
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
DolphaGo thumbnail
5
사실 순수 JPA도 재미있었는데 DataJPA를 알고나서 '와 엄청 편하다..'라고 느꼈었는데요. 이걸 한 번 더 경험하네요. 과연 JPA의 꽃이네요. Querydsl을 알고나면 개발이 엄청 즐거워질 거라는 영한님의 말씀이 와닿았습니다. 이전 강의를 들으면서 Querydsl이 도대체 얼마나 좋길래 이토록 추천하시는 것일까? 궁금했었습니다. 눈에 띄게 달라진 점은 손가락이 점점 놀고 있습니다. em.createQuery 괄호열고 쌍따옴표 치고 쿼리 작성하다가 DataJPA에서는 메서드로 처리하다가 조금 복잡하고 길어지는건 @Query로 직접 쿼리를 작성하긴 했지만, 이제는 s, f, w, f 만 쳐도 인텔리제이가 다해주네요;; 점점 제 손가락이 근무태만이 되어가는 것 같습니다. 영한님이 전 강의들에서 Querydsl 이야기를 자주 꺼내신 이유가 이거였군요! ㅎㅎㅎ 하지만 강의 끝 무렵에 '세상에 공짜 점심은 없다'는 말이 떠올랐는데요. DataJPA나 Querydsl 모두 순수 JPA에 대한 이해를 바탕으로 사용하는 것이 맞다고 느꼈습니다. 내부 코드를 다 까보면 결국 순수JPA를 추상화한 것이니까요. 뭐든 편리함에는 댓가가 필요한 법이죠. 더 잘 사용하기 위해 다시 한번 더 기본편을 복습하러 가봐야겠어요 ㅎㅎ JPA의 아버지 영한님. 정말 최고입니다! 이 강의를 추천합니다!
2021-05-17
지식공유자 김영한
DolphaGo님 드디어 여기까지 오셨군요^^! 즐겁고 열심히 공부하시는 모습을 보니 저도 참 보람이 있습니다. 항상 응원합니다.
2021-05-19
박우빈 thumbnail
5
동적 쿼리 적용을 위해 단기간에 Querydsl을 배워야 할 필요가 있었는데, 명확한 설명과 함께 실전에서 사용하는 법까지 상세하게 알려주셔서 도움이 많이 되었습니다. 이제 적용하는 일만 남았네요. 감사합니다! :)
2020-02-09
지식공유자 김영한
네 우빈님 열심히 적용하시고, 궁금한 내용은 편하게 질문 올려주세요^^
2020-02-09
smathj thumbnail
5
작년 Spring 기본편 부터 올해 Querydsl 까지 강사님의 여러 강의를 보았지만 훌륭한 강의를 만들어 주셔서 감사합니다. 기본편 JPA에서부터 동적쿼리에 대해서 Querydsl을 계속 언급해주셨는데. mybatis와는 정말 편리하게 처리하는게 특히 Where절 파트에서 "재사용 가능한 메서드" 부분에서 무릎을 딱 쳤습니다 ㅠㅠ 간단한 게시판를 jpa버전, Spring Data JPA 버전, Querydsl 버전으로 만들어서 복습을 진행하려합니다 강사님의 야심작 JPA책도 이어 달릴려고 합니다 ㅋㅋ 이후에 강사님의 다른 강의에서 뵙겠습니다
2022-12-18
지식공유자 김영한
smathj님 중요한 부분을 딱! 파악하셨군요 ㅎㅎ 열심히 들어주셔서 저도 보람이 있네요. 고맙습니다.
2022-12-18
김필환 thumbnail
5
드디어 이번 강의를 마지막으로 JPA 로드맵을 마치게 되었습니다. 개인적으로 예전에 자바 백엔드 개발에서 파이썬 백엔드 개발로 넘어왔다가 다시 자바진영으로 돌아가고 싶어 변화된 스프링 개발환경을 다시 공부해야해서 어떻게 공부할까 고민하다가 인프런에 영한님의 강의를 찾게 되었던 게 여기까지 오게 되었습니다. 셈플강의 내용이 범상치(?) 않음을 직감하고 강의를 전부 질러(?)버렸는데 정말 만족합니다. 그동안 방황하던 개발 공부의 방향도 정할 수 있는 좋은 계기도 되었습니다. 감사합니다.
2020-09-30
지식공유자 김영한
필환님 로드맵을 완료하시다니, 진심으로 축하드립니다. 여기까지 완강했다는 사실만으로도 필환님이 자바 백엔드 개발자와 성향이 딱 맞는 분이라 생각해요. 앞으로 잡은 방향대로만 계속 공부하시면 분명히 점점 더 잘하는 개발자가 되실 것이라 확신합니다. 공부하면서 또 궁금한 내용이 생기면 언제든지 편하게 질문 남겨주세요^^! 항상 응원할께요!
2020-10-01
SeJongDeveloper thumbnail
5
JPA 관련 강의를 모두 수강하게 되었네요. 강의를 보면서 느낀점이 querydsl이 없었으면 JPA의 동적쿼리는 지옥일뻔 했네요. from절의 서브쿼리 부분이 아쉽긴 하지만 jpql보다 더 눈에 잘들어와서 만족합니다. mybatis만 섰던 지난 과거에서 JPA로 시작하는 계기를 만들어줘서 감사합니다!
2021-06-13
지식공유자 김영한
SeJongDeveloper님 우와 벌써 Querydsl까지 정말 열심히 공부하시는 군요! 항상 응원합니다.
2021-06-13
연관 로드맵
이 강의가 포함된 잘 짜여진 로드맵을 따라 학습해 보세요!