채널톡 아이콘
BEST

실전 jOOQ! Type Safe SQL with Java

jOOQ를 통해 Type Safe한 SQL의 강력함을 경험해보세요!

이런 걸 배울 수 있어요

  • jOOQ 기초부터 실무활용까지 한번에 배울 수 있습니다.

  • XML 설정, 문자열 없는 자바 코드로만 SQL을 작성 할 수 있습니다.

  • ORM으로 할 수 없는 SQL 기능을 모두 자바코드로 사용 할 수 있습니다.

SQL은 불편하지 않습니다.

SQL을 문자열로 작성하는 방식이 불편할 뿐입니다.


실전 jOOQ! Type Safe SQL with Java


데이터베이스와 SQL을 잘 다루는 것은 모든 백엔드 개발자에게 필수적인 기술입니다. 하지만 전통적인 문자열 기반의 SQL 작성 방식은 반복적이고 오류가 발생하기 쉽습니다.

jOOQ는 이러한 문제를 해결해주는 강력한 도구로, 타입 세이프티를 보장하면서도 직관적인 방식으로 SQL을 작성할 수 있게 해줍니다. 본 강의에서는 jOOQ의 기본 개념부터 심화된 활용 방법까지 단계적으로 학습할 수 있습니다. (jOOQ는 쥬크라고 읽습니다.)


해당 강의는 jOOQ 오픈소스 버전에 대해서만 다룹니다.

1706621217839

2024.01 게으른 개발자 컨퍼런스 - jOOQ, SQL을 작성하는 또다른 방법 연사자 참여

JPA가 모든 것을 해결해주지 않습니다.

진정한 실력을 위해서는 반드시 SQL을 이해하고 사용할 줄 알아야 합니다.

최신 자바 백엔드는 주로 Spring Boot와 JPA를 조합해서 사용합니다.
하지만 JPA의 구현체인 Hibernate는 SQL의 95%만 커버합니다.

이 때문에 안정적인 서비스를 개발하기 위해서는 SQL이 필수인데요. jOOQSQL을 타입 세이프하고 간편하게 사용 할 수 있게 해줍니다.

Hibernate의 창시자 Gavin King - "모든 것을 Hibernate로 처리해야 할 필요는 없다."

문자열이 아닌 자바 코드로 SQL 작성

jOOQ의 dialect 기반 SQL 생성

jOOQ는 자바 코드로 SQL을 만듭니다. (JPQL 아님)

복잡한 쿼리와 동적쿼리를 간단하게 풀어 낼 수 있으며, 한번 작성한 코드는 코드 수정 없이 다른 데이터베이스에서 사용 할 수 있습니다. 또한 SQL을 프로그래매틱하게 제어하여 where 조건 없는 update & delete문 실행 방지, 슬로우 쿼리 탐지 등 다양한 기능들을 제공해 줄 수 있습니다.

이런 내용을 배워요

1⃣XML과 문자열 없이 자바만으로 SQL 작성

사람이 실수하기 쉬운 XML이나, 문자열 대신 자바코드로 SQL을 작성합니다. 고로 휴먼에러를 원천적으로 차단 할 수 있습니다. 다들 SQL 오타 때문에 운영서버에 장애가 일어났던적 한번씩은 있잖아요?

복잡한 XML은 안녕~

2⃣ SQL 빌더, 그 이상의 다양한 편의기능

jOOQ는 자바 코드로 SQL을 만드는 SQL Builder 그 이상의 기능을 가지고 있습니다. ActiveRecord, Generated Dao 등 다양한 기능들을 통해 간편하게 SQL을 작성 할 수 있습니다.

jOOQ의 ActiveRecord 패턴

3⃣ Spring Boot 환경에서의 jOOQ 사용법

현업에서 자주 사용되는 Spring Framework 환경에서 jOOQ가 어떻게 동작하는지 알아보도록 합니다.

Spring Boot 환경에서의 jOOQ

수강 전 참고 사항

실습 환경

  • 운영 체제 및 버전(OS): Windows, MacOS, Linux 등 모든 OS가 가능합니다.

  • 사용 도구: Intellij, Docker for Desktop,


학습 자료

  • 제공하는 학습 자료 형식: PPT, 깃허브 소스 코드

  • 분량 및 용량: 각 섹션별로 학습 자료 제공

선수 지식 및 유의사항

  • 본 강의는 Spring Boot 환경에서 jOOQ를 사용하는 법을 다룹니다.

  • 본 강의에서는 MySQL과 Docker를 사용하기 때문에 이 둘에 대한 이해가 어느 정도 요구됩니다.


  • 본 강의에서는 인접기술인 MyBatis, JPA, QueryDSL이 종종 언급됩니다. 강의 이해를 방해 할 정도는 아니나, 낯설게 느껴질 수 있어 이 부분 양해부탁드립니다.


이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • JPA를 쓰다가 네이티브 SQL을 피해갈 수 없어 고민하던 분

  • QueryDSL처럼 TypeSafe 하게 SQL을 작성하고 싶은 분

  • MyBatis의 XML 설정과, 문자열 기반의 쿼리작성 방식을 개선하고싶은분

선수 지식,
필요할까요?

  • Java

  • Spring Boot

  • Docker

  • RDBMS (MySQL)

안녕하세요
설동민입니다.

332

수강생

15

수강평

26

답변

4.9

강의 평점

1

강의

안녕하세요. 지식공유자 설동민입니다.

현재 카카오 백엔드 개발자로 근무하고 있으며, 복잡한 문제를 명쾌하게 풀어내는걸 좋아합니다.

경영학부 비전공자 출신으로, 다양한 OpenSource들에 대한 분석과 여러 기술적인 경험들을 통해
웹의 전반적인 기술을 학습하였습니다. OOP와 SQL, 이 어울리지 않는 두가지를 제일 좋아합니다.

Github: https://github.com/SightStudio


이력

  • 2021. 12 ~ 현재 : 카카오 백엔드 개발

  • 2020.12 ~ 2021.12: 전) 이스트소프트 백엔드 개발

 

더보기

커리큘럼

전체

30개 ∙ (4시간 53분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

전체

15개

4.9

15개의 수강평

  • 창랑님의 프로필 이미지
    창랑

    수강평 7

    평균 평점 4.9

    5

    90% 수강 후 작성

    SQL를 다룰 때 MyBatis를 주력으로 사용하는 6년차 SI 개발자입니다. MyBatis를 오랫동안 사용하다 보니 필연적으로 발생하는 휴먼에러를 탈피해보고 싶어서, 처음에는 JPA 를 공부했었는데 DDL 을 직접 작성하지 않고 엔티티로 테이블을 관리하는 방식과 C,U,D 를 작성할 때는 JPA 의 멋짐을 느끼다가.. SELECT 문 작성할 때에 불리한 점과 묘하게 정이 안가는 JPQL(이거 쓰면 휴먼에러는 그대로 안고 가야하는 위험도...)떄문에 학습의욕이 조금 떨어지고 있는 와중에 이 강의를 알게 되었습니다. (QueryDSL도 찍먹해봤는데 오랫동안 관리안되고 있는거보고 이거 괜찮나... 싶었습니다 ㅠㅠ) jOOQ 수강평 작성하는데 서론이 길었습니다만, 결론적으로 이 강의는 아주 마음에 드는 강의였습니다. SQL작성을 좋아하는 저에게 휴먼에러는 줄이고 SQL과 유사한 방식으로 쿼리를 만들어주는 JOOQ는 저에게 딱 알맞은 기술이라고 생각했습니다. 좋은 강의 감사합니다.

    • 버터플라잉교육용님의 프로필 이미지
      버터플라잉교육용

      수강평 1

      평균 평점 5.0

      5

      100% 수강 후 작성

      정말 좋은 강의입니다. jooq가 신기술인줄 알았는데 10년이 넘었군요. 이런 좋은 기술이 묻힐 뻔 했는데 한국에 소개해주셔서 감사합니다. 그 외 기타 기능들 너무 좋아요.

      • 김우재님의 프로필 이미지
        김우재

        수강평 6

        평균 평점 5.0

        5

        10% 수강 후 작성

        이전 회사에서 Jooq 를 사용했을 때의 경험은 매우 좋았습니다. JPA 는 매우 편리하고 강력하지만, 한편으로 지원하지 않는 기능들을 마주했을 때는 아쉬웠습니다. Jooq 의 경우 SQL 기능을 전부 지원하고 J클래스를 통해서 타입 세이프하게 만들 수 있다는 점이 매우 좋았습니다. 레퍼런스가 없어서 많이 아쉬웠는데 이렇게 세심하게 강의 만들어주셔서 개인적으로 너무 좋네요

        • 이찬형님의 프로필 이미지
          이찬형

          수강평 7

          평균 평점 5.0

          5

          100% 수강 후 작성

          R2DBC 사용하는 환경에서 jOOQ을 반영해보기 위해서 찾아보다가 이런 좋은 강의를 찾게 되어서 행운이었습니다. jOOQ에 대한 기초 지식을 다루기에 매우 좋은 내용들이 많아서 이해하는데 큰 도움을 받아서, 아직은 환경에 맞게 설정을 이것저것 만져보고, R2DBC에 맞게 코드를 작성하는 방법도 찾아보고 있지만, 강의에서 배운 내용을 뒷받침해서 생각보다 수월하게 한 계단씩 나아가고 있습니다. 이런 좋은 강의를 만들어주셔서 감사합니다.

          • cykkkk님의 프로필 이미지
            cykkkk

            수강평 5

            평균 평점 5.0

            5

            100% 수강 후 작성

            잘 모르는 기술이었는데 생각보다 도입 고려를 해볼만한 기술 스택인거 같아서 놀랐고, 라이센스나 queryDsl, JPA 와도 비교해주는 부분이 있어서 개인적으로 재밌게 들었습니다.

            비슷한 강의

            같은 분야의 다른 강의를 만나보세요!

            ₩55,000