Chantal Loncle
Software Developer, JetBrains
Actions
As a Software Developer in the Exposed team at JetBrains, Chantal has been working on maintaining and enhancing the database access library since early 2023.
Links
Flow with Exposed: Life Finds a Way
A single automaton is activated. The ruleset for its potential state is predetermined. How many generations will it or its descendants take to breach the confines of their environment? What if hundreds had been activated?
Using a zero-player simulation with each automaton signalling its own state-change event to the server, we'll see how Exposed, a database access library, can assist with high throughput and the handling of asynchronous database operations. We'll also leverage Kotlin Flow on top of Exposed DSL queries to observe a continuous data stream of all state updates to the UI.
Throughout different phases of the simulation cycle, we'll query our data using Exposed, then analyze and transform it using Kotlin DataFrame, and visualize the results using the Kandy plotting library. Finally, we'll see how the new Exposed Gradle plugin can help simplify the process of migrating our database when we're ready to expand on our simulation's original dataset.
Exploring the Exposed Library: A Kotlin Solution to Database Access
Exposed is a database access library built with Kotlin that serves as an abstraction layer providing multiple database connectivity options. In addition to reducing the boilerplate code necessary to interface with a database, the library ensures type-safe SQL and reliable interactions as a seamless extension of a Kotlin developer’s code.
This talk ultimately seeks to provide Kotlin developers with a basic understanding of the current state of the Exposed library and its core functionality. We'll introduce the necessary configuration for a database connection, followed by an insight into the concept of transactions and their managers. We'll then examine schema definition, which will lead into an exploration of the different approaches for defining and manipulating relational data: the domain-specific language approach, the data access object pattern, and using plain SQL.
Lastly, to give perspective on the extended capabilities of Exposed, we’ll lightly touch on topics geared towards enabling a tailored developer experience, such as: user-defined column types and functions; custom extensions for controlled SQL query building; and statement lifecycle interceptors.
Exposed 1.0: Stable, Scalable, and Looking Forward
Exposed is a database access library that provides a type-safe SQL DSL, a powerful ORM, and reliable database interactions as a seamless extension of any Kotlin developer’s code.
The team behind the library recently released its first stable version, and this talk aims to provide a detailed insight into the enhanced features that come with it.
We’ll cover the introduction of support for database migrations and for non-blocking database operations using R2DBC with Kotlin coroutines, as well as the challenges encountered leading up to the stable release. We’ll also explore tooling support options via the IntelliJ IDEA plugin, namely table object and entity class generation.
Lastly, to share a look into the future of Exposed, we’ll touch on planned features for upcoming versions that address the library’s position as a database access solution in Kotlin multiplatform development.
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top