Database & Storage in Compose Desktop: Exposed ORM & SQLite | Kotlin Desktop #9
20views
2likes
014:55
T
Taught by Celeste AI - AI Coding Coach
View on YouTubeDescription
Build a Contact Manager with Compose Desktop! Learn the Exposed ORM with SQLite for local persistence, CRUD operations wrapped in
transactions, search with SQL LIKE queries, Scaffold with FloatingActionButton, and reusable dialog forms — all in about 130 lines of Kotlin
with no external API needed.
What You'll Learn:
- Exposed IntIdTable for schema definition with typed columns
- Database.connect() with SQLite JDBC driver
- SchemaUtils.create() for automatic table creation
- Transaction blocks wrapping all database operations
- CRUD: selectAll, insert, update, deleteWhere
- Search with SQL LIKE queries
- Scaffold with FloatingActionButton for material layout
- LazyColumn for efficient scrollable lists
- AlertDialog with OutlinedTextField for data entry forms
- State refresh pattern: re-query after mutations
Timestamps:
0:00 - Introduction
0:15 - Preview: What We're Building
0:45 - Project Setup (Gradle, Exposed Dependencies)
2:25 - Database Schema (IntIdTable, initDatabase)
3:24 - Contact Repository (CRUD Operations)
5:22 - App Content (Scaffold, Search, Dialogs)
9:59 - Main & Compile
11:41 - App Demo (Add, Search, Edit, Delete)
12:56 - Recap & Key Takeaways
13:56 - Thanks for Watching
Key Takeaways:
1. Table Definition — Exposed IntIdTable defines schema with typed columns
2. Connect — Database.connect() with SQLite JDBC driver string
3. Repository — Transaction blocks wrap all CRUD operations
4. State Refresh — Re-query after mutations to keep UI in sync
5. Dialogs — AlertDialog with OutlinedTextField for data entry
Previous Lesson:
Lesson 08: HTTP & APIs
https://youtube.com/...
Next Lesson:
Lesson 10: Drag & Drop (coming soon)
Tech Stack:
Kotlin 2.1, Compose Multiplatform 1.7.3, Material3
Exposed ORM 0.56.0, SQLite JDBC 3.47.1.0
Gradle 8.10, JVM 17+
Source Code: https://github.com/GoCelesteAI/kotlin_desktop_database_storage
Taught by CelesteAI
If you found this helpful, please like and subscribe for more Kotlin Desktop tutorials!
#kotlin #compose #desktop #material3 #exposed #sqlite #database #crud #orm #storage #tutorial #programming
Tags
kotlin, compose multiplatform, compose desktop, material3, exposed orm, sqlite, database, crud operations, contact manager, transaction,
jetbrains exposed, dialogs, lazy column, scaffold, floating action button, kotlin tutorial, desktop app, jvm, jetbrains compose, composable
Category
Science & Technology
Tags
kotlincompose multiplatformcompose desktopmaterial3exposed ormsqlitedatabasecrud operationscontact managertransactionjetbrains exposeddialogslazy columnscaffoldfloating action button
Back to tutorialsOpen in YouTube
Duration
14:55
Published
February 20, 2026
Added to Codegiz
March 15, 2026