Skip to content

Ktorm

v4.x
Kotlin

概述 ​

Ktorm 是 Kotlin 原生的 ORM 框架,专为 Kotlin 开发者设计。它提供类型安全的 DSL 风格 API,让数据库操作像写 Kotlin 代码一样自然流畅。

适用后端框架
框架支持状态
Spring Boot (Kotlin) Spring Boot (Kotlin)✅ 推荐
Ktor✅ 完全支持

技术特性 ​

特性说明
类型安全编译时检查 SQL 正确性
DSL 风格类似 SQL 的 Kotlin DSL
轻量级无反射,启动快
数据库支持MySQL, PostgreSQL, SQLite, Oracle, SQL Server
事务支持完整的事务管理

Kotlin ORM 选型对比 ​

特性KtormMyBatis PlusJPA
Kotlin 原生✅ 专为 Kotlin 设计⚠️ Java 兼容⚠️ Java 兼容
类型安全✅ 编译时检查❌ 运行时⚠️ 部分
DSL 风格✅ 优雅简洁❌ 方法链❌ JPQL
学习曲线低中高
性能✅ 无反射✅ 良好⚠️ 一般
社区规模中大(中国)大
选型建议
  • Kotlin 项目首选:Ktorm,体验最佳
  • 需要大量中文资料:MyBatis Plus
  • 已有 JPA 经验:Spring Data JPA

定义表结构 ​

Tables.kt

定义实体类 ​

Entities.kt

数据库连接 ​

Database.kt

CRUD 操作 ​

查询 ​

查询示例

插入 ​

插入示例

更新 ​

更新示例

删除 ​

删除示例

关联查询 ​

关联查询

事务处理 ​

事务

Spring Boot 集成 ​

DatabaseConfig.kt
UserRepository.kt

最佳实践 ​

开发建议
  1. 使用 sequenceOf:比直接 from().select() 更方便
  2. 实体接口:定义为 interface 而非 data class
  3. 懒加载关联:关联属性默认懒加载,注意 N+1 问题
  4. 事务边界:在 Service 层使用 useTransaction
  5. 日志开启:开发时开启 SQL 日志便于调试

相关资源 ​

Released under the MIT License.