What problem does it solve?
Solves the complexity of JDBC usage in Kotlin by providing Migrator, Dao<T>, and transactional utilities.
Core Features & Use Cases
- Custom Migrator for managing versioned SQL migrations under main/migrations using V<n>__<description>.sql files.
- DAO pattern via a companion object : Dao<T> on row types, enabling type-safe queries and updates without an ORM.
- Transactional work with transaction { } to ensure atomic multi-statement operations and safe rollback on failure.
- CoroutineDatasource (jdbcCtx) to carry a DataSource through the coroutine context and enable per-app DB access.
- Easy wiring at startup with Jdbc.initialize and .context() to obtain a jdbcCtx for service layers.
Quick Start
Define your data models and companion object DAOs, initialize the JDBC at startup, and run DB tasks inside transaction blocks using the provided jdbcCtx.