kotlin-exposed-patterns

Provides Kotlin patterns for JetBrains Exposed ORM covering DSL, DAO, transactions, HikariCP, and Flyway.

Updated Jun 22, 2026
One-click install
npx skills add https://github.com/hector-manny/bussbot --skill kotlin-exposed-patterns-hector-manny
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: kotlin-exposed-patterns
Source: https://github.com/hector-manny/bussbot/tree/main/.cursor/skills/kotlin-exposed-patterns
Command: npx skills add https://github.com/hector-manny/bussbot --skill kotlin-exposed-patterns-hector-manny

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires org.jetbrains.exposed:exposed-core, org.jetbrains.exposed:exposed-dao, org.jetbrains.exposed:exposed-jdbc, com.zaxxer:HikariCP, org.flywaydb:flyway-core, and includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve?

This Skill unit provides comprehensive patterns for database access with JetBrains Exposed ORM, addressing common challenges in database interaction and management.

Core Features & Use Cases

  • DSL Queries: Execute SQL-like expressions for direct database operations.
  • DAO Pattern: Implement entity lifecycle management with the Data Access Object pattern.
  • Transactions: Ensure atomicity and consistency of database operations.
  • Connection Pooling: Utilize HikariCP for efficient connection management.
  • Migrations: Use Flyway for database schema versioning and migration.
  • Repository Pattern: Encapsulate database operations behind interfaces for better testability and maintainability.
  • Use Case: A developer can use this Skill unit to create a robust application that interacts with a database, ensuring efficient data access and manipulation.

Quick Start

Use the kotlin-exposed-patterns skill to set up a new project with Exposed ORM and HikariCP connection pooling.

Frequently Asked Questions about kotlin-exposed-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up database access in Kotlin using Exposed ORM and HikariCP?

To set up database access with Exposed ORM, configure HikariCP for connection pooling and initialize the database transaction block. This provides efficient connection management and enables DSL queries for direct database operations.

What is the difference between DSL queries and the DAO pattern in Kotlin Exposed?

DSL queries in Kotlin Exposed execute SQL-like expressions for direct database operations, while the DAO pattern manages entity lifecycles. DSL offers fine-grained control, whereas DAO abstracts records into typed entity objects.

Can I use Flyway for database migrations with Exposed ORM in Kotlin?

Yes, you can use Flyway with Exposed ORM for database migrations. Flyway handles schema versioning and migration scripts, ensuring your database structure stays synchronized with your Kotlin application code.

What is the best way to ensure transaction atomicity in Kotlin Exposed?

The best way to ensure transaction atomicity in Kotlin Exposed is wrapping database operations within transaction blocks. This guarantees that operations execute consistently and roll back automatically if an error occurs.

How do I encapsulate Exposed ORM operations behind a repository pattern?

Encapsulate Exposed ORM operations behind repository interfaces to abstract database interactions. This repository pattern hides DSL query and DAO implementation details, improving application testability and maintainability.

Do I need HikariCP to manage database connections for Kotlin Exposed?

Yes, HikariCP is required to manage database connections for Kotlin Exposed. It provides connection pooling capabilities that efficiently handle database access, preventing resource exhaustion during concurrent operations.