jOOQ Masterclass: A practical guide for Java developers to write SQL queries for complex database interactions

Leonard, Anghel

  • 出版商: Packt Publishing
  • 出版日期: 2022-08-19
  • 售價: $1,940
  • 貴賓價: 9.5$1,843
  • 語言: 英文
  • 頁數: 764
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 1800566891
  • ISBN-13: 9781800566897
  • 相關分類: Java 程式語言SQL資料庫
  • 立即出貨 (庫存=1)

買這商品的人也買了...

商品描述

Learn the best way to write SQL in Java by taking control of SQL in your app via a type-safe, dynamic and versatile API that supports almost any type or feature compatible with a database and emphasizes SQL syntax correctness

Key Features

- Write complex, type-safe, and dynamic SQL using the powerful jOOQ API
- Tackle complex persistence tasks, such as lazy fetching, R2DBC, transactions, and batching while sustaining high traffic in your modern Java applications
- Use a comprehensive SPI to shape and extend jOOQ according to your needs

Book Description

jOOQ is an excellent query builder framework that allows you to emulate database-specific SQL statements using a fluent, intuitive, and flexible DSL API. jOOQ is fully capable of handling the most complex SQL in more than 30 different database dialects.

jOOQ Masterclass covers jOOQ from beginner to expert level using examples (for MySQL, PostgreSQL, SQL Server, and Oracle) that show you how jOOQ is a mature and complete solution for implementing the persistence layer. You'll learn how to use jOOQ in Spring Boot apps as a replacement for SpringTemplate and Spring Data JPA. Next, you'll unleash jOOQ type-safe queries and CRUD operations via jOOQ's records, converters, bindings, types, mappers, multi-tenancy, logging, and testing. Later, the book shows you how to use jOOQ to exploit powerful SQL features such as UDTs, embeddable types, embedded keys, and more. As you progress, you'll cover trending topics such as identifiers, batching, lazy loading, pagination, and HTTP long conversations. For implementation purposes, the jOOQ examples explained in this book are written in the Spring Boot context for Maven/Gradle against MySQL, Postgres, SQL Server, and Oracle.

By the end of this book, you'll be a jOOQ power user capable of integrating jOOQ in the most modern and sophisticated apps including enterprise apps, microservices, and so on.

What you will learn

- Enable the jOOQ Code Generator in any combination of Java and Kotlin, Maven and Gradle
- Generate jOOQ artifacts directly from database schema, or without touching the real database
- Use jOOQ DSL to write and execute a wide range of queries for different databases
- Understand jOOQ type-safe queries, CRUD operations, converters, bindings, and mappers
- Implement advanced SQL concepts such as stored procedures, derived tables, CTEs, window functions, and database views
- Implement jOOQ multi-tenancy, tuning, jOOQ SPI, logging, and testing

Who this book is for

This book is for Java developers who write applications that interact with databases via SQL. No prior experience with jOOQ is assumed.

商品描述(中文翻譯)

學習在Java中以最佳方式撰寫SQL,透過一個型別安全、動態且多功能的API來控制應用程式中的SQL,該API支援幾乎與資料庫相容的任何型別或功能,並強調SQL語法的正確性。

主要特點:

- 使用強大的jOOQ API撰寫複雜、型別安全和動態的SQL
- 在現代Java應用程式中處理複雜的持久化任務,例如延遲取回、R2DBC、交易和批次處理,同時保持高流量
- 使用全面的SPI來根據需求塑造和擴展jOOQ

書籍描述:

jOOQ是一個優秀的查詢構建器框架,它允許您使用流暢、直觀和靈活的DSL API來模擬特定於資料庫的SQL語句。jOOQ完全能夠處理超過30種不同資料庫方言中最複雜的SQL。

《jOOQ Masterclass》從初學者到專家級別介紹了jOOQ,並使用示例(針對MySQL、PostgreSQL、SQL Server和Oracle)展示了jOOQ作為實現持久層的成熟和完整解決方案。您將學習如何在Spring Boot應用程式中使用jOOQ作為SpringTemplate和Spring Data JPA的替代方案。接下來,您將通過jOOQ的記錄、轉換器、綁定、型別、映射器、多租戶、日誌記錄和測試來發揮jOOQ型別安全查詢和CRUD操作的能力。隨後,本書將向您展示如何使用jOOQ來利用強大的SQL功能,例如UDT、可嵌入型別、嵌入式鍵等。隨著進展,您將涵蓋一些熱門話題,例如識別符、批次處理、延遲加載、分頁和HTTP長對話。為了實施目的,本書中解釋的jOOQ示例是在Spring Boot環境下使用Maven/Gradle對MySQL、Postgres、SQL Server和Oracle進行編寫的。

通過閱讀本書,您將成為一位能夠在最現代和複雜的應用程式中整合jOOQ的高級使用者,包括企業應用程式、微服務等。

您將學到什麼:

- 在任何組合的Java和Kotlin、Maven和Gradle中啟用jOOQ代碼生成器
- 直接從資料庫模式生成jOOQ工件,或者不觸碰真實資料庫
- 使用jOOQ DSL為不同的資料庫撰寫和執行各種查詢
- 瞭解jOOQ型別安全查詢、CRUD操作、轉換器、綁定和映射器
- 實現高級SQL概念,例如存儲過程、衍生表、CTE、窗口函數和資料庫視圖
- 實現jOOQ多租戶、調優、jOOQ SPI、日誌記錄和測試

本書適合Java開發人員,他們通過SQL與資料庫進行應用程式交互。不需要先前使用jOOQ的經驗。

作者簡介

Anghel Leonard is a chief technology strategist and independent consultant with 20+ years of experience in the Java ecosystem. In his daily work, he is focused on architecting and developing Java-distributed applications that empower robust architectures, clean code, and high performance. He is also passionate about coaching, mentoring, and technical leadership. He is the author of several books, videos, and dozens of articles related to Java technologies.

作者簡介(中文翻譯)

Anghel Leonard 是一位擁有20多年 Java 生態系統經驗的首席技術策略師和獨立顧問。在他的日常工作中,他專注於設計和開發能夠提供強大架構、乾淨代碼和高性能的 Java 分散式應用程式。他同時熱衷於教練、指導和技術領導。他是幾本書、視頻和數十篇與 Java 技術相關的文章的作者。

目錄大綱

1. Starting jOOQ and Spring Boot
2. Customizing the jOOQ Level of Involvement
3. jOOQ Core Concepts
4. Building a DAO Layer (Evolving the Generated DAO Layer)
5. Tackling Different Kinds of SELECT, INSERT, UPDATE, DELETE, and MERGE Statements.
6. Tackling Different Kinds of JOIN Statements
7. Types, Converters, and Binding
8. Fetching and Mapping
9. CRUD, Transactions, and Locking
10. Exporting, Batching, Bulking, and Loading
11. jOOQ Keys
12. Pagination and Dynamic Queries
13. Exploiting SQL Functions
14. Derived Tables, CTEs, and Views
15. Calling and Creating Stored Functions and Procedures
16. Tackling Aliases and SQL Templating
17. Multitenancy in jOOQ
18. jOOQ SPI (Providers and Listeners)
19. Logging and Testing

目錄大綱(中文翻譯)

1. 開始使用 jOOQ 和 Spring Boot
2. 自訂 jOOQ 的參與程度
3. jOOQ 核心概念
4. 建立 DAO 層(進化生成的 DAO 層)
5. 處理不同類型的 SELECT、INSERT、UPDATE、DELETE 和 MERGE 語句
6. 處理不同類型的 JOIN 語句
7. 類型、轉換器和綁定
8. 擷取和映射
9. CRUD、事務和鎖定
10. 匯出、批次處理、大量處理和載入
11. jOOQ 鍵
12. 分頁和動態查詢
13. 利用 SQL 函數
14. 衍生表、CTE 和視圖
15. 呼叫和建立儲存函數和程序
16. 處理別名和 SQL 模板
17. jOOQ 中的多租戶
18. jOOQ SPI(提供者和監聽器)
19. 日誌和測試