강의

멘토링

로드맵

Inflearn brand logo image
BEST
Programming

/

Database

本当のjOOQ! Type Safe SQL with Java

jOOQでType SafeしたSQLの強力さを体験してください!

  • sdm32851630
실습 중심
db설계
쿼리
Java
jooq
SQL
Spring Boot
dsl

学習した受講者のレビュー

こんなことが学べます

  • jOOQの基礎から実務活用まで一度に学ぶことができます。

  • XML設定、文字列のないJavaコードでのみSQLを作成できます。

  • ORMではできないSQL機能をすべてJavaコードとして使用できます。

SQLは不便ではありません。

SQLを文字列で書く方法は不便です。


本当のjOOQ! Type Safe SQL with Java


データベースとSQLをうまく扱うことは、すべてのバックエンド開発者にとって不可欠な技術です。しかし、伝統的な文字列ベースのSQLを書く方法は反復的でエラーが発生しやすいです。

jOOQはこれらの問題を解決する強力なツールで、タイプセーフティを保証しながらも直感的な方法でSQLを作成できるようにします。このレッスンでは、 jOOQの基本概念から深刻な活用方法まで段階的に学習できます。 (jOOQはジュークと読みます。)


このレッスンはjOOQオープンソースバージョンについてのみ説明します。

1706621217839

2024.01 怠惰な開発者カンファレンス - jOOQ、SQLを書く別の方法スピーカー参加

JPAはすべてを解決しません。

真のスキルを得るには、SQLを理解して使用することを知っておく必要があります。

最新のJavaバックエンドは、主にSpring BootとJPAを組み合わせて使用しています。
しかし、JPAの実装であるHibernateはSQLの95%しかカバーしていません。

このため、安定したサービスを開発するためにはSQLが必須です。 jOOQSQL を型セーフで使いやすくします。

Hibernateの創設者Gavin King - 「すべてをHibernateで処理する必要はありません」

文字列ではなくJavaコードでSQLを書く

jOOQのdialectベースのSQL生成

jOOQはJavaコードでSQLを作成します。 (JPQLではありません)

複雑なクエリと動的クエリを簡単に解放することができ、一度作成したコードはコードを変更せずに他のデータベースで使用できます。また、SQLをプログラマティックに制御することで、where条件なしのupdate&delete文の実行防止、スロークエリの検出など、さまざまな機能を提供できます。

このようなことを学びます。

1⃣XMLと文字列なしでJavaでSQLを作成する

人が間違えやすいXMLや、文字列の代わりにJavaコードでSQLを作成します。故にヒューマンエラーを源泉的に遮断できます。誰もがSQLエラーのために運用サーバーに障害が発生したことがありますか?

複雑なXMLはこんにちは〜

2⃣ SQL Builder、それ以上の様々な便利機能

jOOQには、Javaコードで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、FitHubのソースコード

  • 分量と容量:各セクションで学習資料を提供する

選手の知識と注意事項

  • このレッスンでは、Spring Boot環境でjOOQを使用する方法について説明します。

  • このレッスンではMySQLとDockerを使用しているため、この2つの理解がある程度必要です。


  • 本講義では、隣接技術であるMyBatis、JPA、QueryDSLがしばしば挙げられます。講義の理解を妨げるほどではありませんが、見慣れないように感じられますので、この部分ご了承ください。


こんな方に
おすすめです

学習対象は
誰でしょう?

  • JPAを使ってネイティブSQLを避けられなくて悩んだ方

  • QueryDSLのようにTypeSafeにSQLを作成したい方

  • MyBatisのXML設定と、文字列ベースのクエリ作成方法を改善したい方

前提知識、
必要でしょうか?

  • Java

  • Spring Boot

  • Docker

  • RDBMS(MySQL)

こんにちは
です。

345

受講生

17

受講レビュー

28

回答

4.9

講座評価

1

講座

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

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

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

Github: https://github.com/SightStudio


이력

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

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

 

カリキュラム

全体

30件 ∙ (4時間 53分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

17件

4.9

17件の受講レビュー

  • kwj1270님의 프로필 이미지
    kwj1270

    受講レビュー 6

    平均評価 5.0

    5

    10% 受講後に作成

    Trải nghiệm của tôi với Jooq ở công ty trước đây rất tốt. JPA rất tiện lợi và mạnh mẽ, nhưng Mặt khác, thật đáng thất vọng khi gặp phải những tính năng không được hỗ trợ. Trong trường hợp Jooq, nó hỗ trợ tất cả các hàm SQL Thật tuyệt khi có thể làm cho nó an toàn về mặt loại thông qua J-Class. Tôi rất thất vọng vì không có tài liệu tham khảo, nhưng cá nhân tôi rất vui vì bạn đã biên soạn bài giảng một cách cẩn thận như vậy.

    • harpuria870722님의 프로필 이미지
      harpuria870722

      受講レビュー 7

      平均評価 4.9

      5

      90% 受講後に作成

      Tôi là nhà phát triển SI với 6 năm kinh nghiệm, người chủ yếu sử dụng MyBatis khi xử lý SQL. Sau một thời gian dài sử dụng MyBatis, tôi muốn tránh những lỗi không thể tránh khỏi của con người nên ban đầu tôi nghiên cứu JPA và cảm nhận được sự hay ho của JPA khi viết C, U, D cũng như cách quản lý bảng dưới dạng thực thể mà không cần viết DDL. trực tiếp A.. Nó có nhược điểm khi viết các câu lệnh SELECT và không thân thiện với JPQL một cách kỳ lạ (nếu bạn sử dụng điều này, bạn phải xử lý các lỗi của con người). Tôi biết đến khóa học này trong khi động lực học tập của tôi đang giảm dần do rủi ro... (Tôi cũng đã thử sử dụng QueryDSL, nhưng thấy nó đã không được duy trì trong một thời gian dài nên tôi tự hỏi liệu điều này có tốt không... ㅠㅠ) Phần giới thiệu dài bằng bài đánh giá khóa học jOOQ, nhưng tóm lại, tôi thực sự thích khóa học này. Là một người thích viết SQL, tôi nghĩ JOOQ, công cụ giúp giảm thiểu lỗi của con người và tạo các truy vấn theo cách tương tự như SQL, là công nghệ hoàn hảo đối với tôi. Cảm ơn bạn vì bài giảng tuyệt vời.

      • choiyoungkwon님의 프로필 이미지
        choiyoungkwon

        受講レビュー 5

        平均評価 5.0

        5

        100% 受講後に作成

        Đó là một công nghệ mà tôi không biết nhiều nhưng tôi rất ngạc nhiên khi thấy nó dường như là một tập hợp công nghệ đáng để cân nhắc áp dụng nhiều hơn tôi nghĩ và cá nhân tôi rất thích nghe nó vì có sự so sánh với các giấy phép, queryDsl và JPA.

        • inkang05084175님의 프로필 이미지
          inkang05084175

          受講レビュー 1

          平均評価 5.0

          5

          100% 受講後に作成

          Đây thực sự là một bài giảng hay. Tôi tưởng jooq là một công nghệ mới nhưng đã hơn 10 năm rồi. Công nghệ tuyệt vời này gần như đã bị lãng quên nên cảm ơn bạn đã giới thiệu nó đến Hàn Quốc. Ngoài ra, tôi thực sự thích các tính năng khác.

          • tussle님의 프로필 이미지
            tussle

            受講レビュー 7

            平均評価 5.0

            5

            100% 受講後に作成

            Tôi thật may mắn khi tìm thấy bài giảng hay này khi đang tìm cách áp dụng jOOQ trong môi trường sử dụng R2DBC. Có rất nhiều nội dung hay để bao quát những kiến ​​thức cơ bản về jOOQ nên giúp hiểu rất nhiều nên mình vẫn đang mày mò cài đặt cho phù hợp với môi trường của mình và tìm cách viết code phù hợp với R2DBC, nhưng mình ủng hộ những gì tôi đã học được trong bài giảng Vì vậy, tôi đang tiến lên từng bước một dễ dàng hơn tôi nghĩ. Cảm ơn bạn đã tạo ra một bài giảng tuyệt vời như vậy.

            ¥6,526

            似ている講座

            同じ分野の他の講座を見てみましょう!