0%

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.

Table of Contents

  1. jOOQ Masterclass
  2. Foreword
  3. Contributors
  4. About the author
  5. About the reviewers
  6. Preface
  7. Part 1: jOOQ as a Query Builder, SQL Executor, and Code Generator
  8. Chapter 1: Starting jOOQ and Spring Boot
  9. Chapter 2: Customizing the jOOQ Level of Involvement
  10. Part 2: jOOQ and Queries
  11. Chapter 3: jOOQ Core Concepts
  12. Chapter 4: Building a DAO Layer (Evolving the Generated DAO Layer)
  13. Chapter 5: Tackling Different Kinds of SELECT, INSERT, UPDATE, DELETE, and MERGE
  14. Chapter 6: Tackling Different Kinds of JOINs
  15. Chapter 7: Types, Converters, and Bindings
  16. Chapter 8: Fetching and Mapping
  17. Part 3: jOOQ and More Queries
  18. Chapter 9: CRUD, Transactions, and Locking
  19. Chapter 10: Exporting, Batching, Bulking, and Loading
  20. Chapter 11: jOOQ Keys
  21. Chapter 12: Pagination and Dynamic Queries
  22. Part 4: jOOQ and Advanced SQL
  23. Chapter 13: Exploiting SQL Functions
  24. Chapter 14: Derived Tables, CTEs, and Views
  25. Chapter 15: Calling and Creating Stored Functions and Procedures
  26. Chapter 16: Tackling Aliases and SQL Templating
  27. Chapter 17: Multitenancy in jOOQ
  28. Part 5: Fine-tuning jOOQ, Logging, and Testing
  29. Chapter 18: jOOQ SPI (Providers and Listeners)
  30. Chapter 19: Logging and Testing
  31. Other Books You May Enjoy