R2dbc revealed reactive relational database connectivity for java and jvm programmers
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
[Place of publication not identified] :
Apress L. P.
[2021]
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009631721406719 |
Tabla de Contenidos:
- Intro
- Table of Contents
- About the Author
- About the Technical Reviewer
- Acknowledgments
- The World at Scale
- Introduction
- Part I: The Reactive Movement and R2DBC
- Chapter 1: The Case for Reactive Programming
- A Traditional Approach
- Imperative vs. Declarative Programming
- Thinking Reactively
- The Reactive Manifesto
- Reactive Systems
- Reactive Systems != Reactive Programming
- Asynchronous Data Streams
- Data Streams
- Back Pressure
- Summary
- Chapter 2: Introduction to R2DBC
- What Is R2DBC?
- A New Approach
- Beyond JDBC
- R2DBC Implementations
- Embracing Reactive Programming
- Enabling Vendor Creativity
- Enforcing Compliance
- Reactive Streams
- Another Specification
- API Fundamentals
- Processors
- JVM Interfaces
- Implementations
- Summary
- Part II: The R2DBC Service-Provider Interface
- Chapter 3: The Path to Implementation
- The Database Landscape
- Power in Simplicity
- R2DBC Compliance
- Guiding Principles
- Specification Implementation Requirements
- Specification Extensions
- Wrapped Interfaces
- Closeable Interfaces
- Testing and Validation
- Summary
- Chapter 4: Connections
- Establishing Connections
- The Anatomy
- R2DBC Hindsight
- Connection Factory
- Driver Implementations
- Exposing Metadata
- ConnectionFactories
- Discovery
- Bringing It All Together
- Connections
- Obtaining Connections
- Acquiring Metadata
- Validating Connections
- Closing Connections
- Summary
- Chapter 5: Transactions
- Transaction Fundamentals
- The Need for Transactions
- ACID Compliance
- Methods of Control
- Committing Transactions
- Rolling Back Transactions
- Savepoints
- R2DBC Transaction Management
- Auto-commit Mode
- Explicit Transactions
- Committing Transactions
- Rolling Back Transactions
- Managing Savepoints
- Releasing Savepoints.
- Isolation Levels
- Managing Isolation
- Performance Considerations
- Summary
- Chapter 6: Statements
- SQL Statements
- R2DBC Statements
- The Basics
- Creating Statements
- Running Statements
- Sneak Peek
- Dynamic Input
- Creating Parameterized Statements
- Binding Parameters
- Batching Statements
- Using Null Values
- Auto-generated Values
- Performance Hints
- Summary
- Chapter 7: Handling Results
- The Fundamentals
- Consuming Results
- Cursors
- Update Count
- Rows and Columns
- Row Anatomy
- Retrieving Values
- Generic Objects
- Specifying Types
- Multiple Columns
- Summary
- Chapter 8: Result Metadata
- Data About Data
- Row Metadata
- Column Metadata
- Required Methods
- Optional Methods
- getJavaType
- getNativeTypeMetadata
- getNullability
- getPrecision
- getScale
- Retrieving Metadata
- Obtaining a RowMetadata Object
- Accessing ColumnMetadata
- Summary
- Chapter 9: Mapping Data Types
- Data Type Differences
- Mapping Simple Data Types
- Character Types
- Boolean Types
- Binary Types
- Numeric Types
- DateTime Types
- Collection Types
- Mapping Advanced Data Types
- BLOBs and CLOBs
- Creating Objects
- Retrieving Objects
- Consuming Objects
- Releasing Objects
- Summary
- Chapter 10: Handling Exceptions
- General Exceptions
- IllegalArgumentException
- IllegalStateException
- UnsupportedOperationException
- R2DBCException
- Categorized Exceptions
- Non-transient Exceptions
- Transient Exceptions
- Summary
- Part III: Getting Started with R2DBC and MariaDB
- Chapter 11: Getting Started with R2DBC
- Database Drivers
- Outline Placeholder
- R2DBC Client Libraries
- Creating a Client
- Use an Existing Client Library
- Looking Ahead
- MariaDB and R2DBC
- Introduction to MariaDB
- Download and Install
- Direct Download
- Docker Hub Download
- Using R2DBC.
- Requirements
- Install the Java Development Kit
- Install Apache Maven
- Apache Maven Basics
- Create a New Project
- Add Dependencies
- Build the Project
- Show Me the Code
- Looking Ahead
- Summary
- Chapter 12: Managing Connections
- Configuration
- Database Connectivity
- Driver Implementation and Extensibility
- Running Reactive Code
- Establishing Connections
- Obtaining MariadbConnectionFactory
- Creating a New Connection Factory
- MariadbConnectionConfiguration
- ConnectionFactory Discovery
- Creating a Connection
- Validating and Closing Connections
- Putting It All Together
- Metadata
- Show Me the Code
- Summary
- Chapter 13: Managing Data
- MariadbStatement
- Statement Hierarchy
- Dependency Disclaimer
- The Basics
- Creating Statements
- Obtaining a Publisher
- Subscribing to Execution
- Retrieving Results
- Row Update Count
- Mapping Results
- Working with Row Objects
- Mapping Results
- Handling Metadata
- Generated Values
- Multiple Statements
- Using MariadbBatch
- Using MariadbStatement
- Parameterized Statements
- Binding Parameters
- Batching Statements
- Reactive Control
- Blocking Execution
- Managing Back Pressure
- Show Me the Code
- Summary
- Chapter 14: Managing Transactions
- Database Transaction Support
- Database Preparation
- Transaction Basics
- Auto-committing
- Explicit Transactions
- Committing a Transaction
- Rolling Back a Transaction
- An Imperative Perspective
- Managing Savepoints
- Using Savepoints
- Releasing Savepoints
- Handling Isolation Levels
- Show Me the Code
- Summary
- Chapter 15: Connection Pooling
- Connection Pool Fundamentals
- Benefits of Connection Pooling
- How to Get Started
- Roll Your Own Connection Pool
- Introducing R2DBC Pool
- R2DBC Pool
- Adding a New Dependency
- Connection Pool Configuration.
- Connection Factory Discovery
- ConnectionPoolConfiguration
- Creating a ConnectionPool
- Managing Connections
- Obtaining a Connection
- Releasing a Connection
- Cleaning Up
- Show Me the Code
- Summary
- Chapter 16: Practical Applications with Spring Data and R2DBC
- Introduction to Spring
- Spring Boot
- Spring Data
- Spring Data R2DBC
- Project Reactor
- Getting Started
- Spring Initializr
- Project Configuration
- Adding Dependencies
- Generate a New Project
- Configuring Connections
- Spring Data Repositories
- Mapping Entities
- Creating a New Repository
- Querying Data
- Using Custom Queries
- Parameterization
- Bringing It All Together
- Testing It Out
- Build and Run the Project
- Call an Endpoint
- Show Me the Code
- Summary
- Index.