SKILL

kotlin-exposed-patterns

JetBrains Exposed ORM 模式,包括 DSL 查询、DAO 模式、事务、HikariCP 连接池、Flyway 迁移和仓库模式。

适用对象:对象待分类。自动收录 · 待核查。

原作者说明节选

从固定版本的 SKILL.md 提取,保留原文语言。以下内容属于作者说明,本站尚未验证安装、兼容或运行结果。

查看中文原文

原文涵盖的主题

  • Kotlin Exposed 模式
  • 何时使用
  • 工作原理
  • 示例
  • DSL 查询
  • DAO 实体用法
  • HikariCP 配置
  • 数据库设置

使用 JetBrains Exposed ORM 进行数据库访问的全面模式,包括 DSL 查询、DAO、事务以及生产就绪的配置。 使用 Exposed 设置数据库访问 使用 Exposed DSL 或 DAO 编写 SQL 查询 使用 HikariCP 配置连接池 使用 Flyway 创建数据库迁移 使用 Exposed 实现仓储模式 处理 JSON 列和复杂查询 Exposed 提供两种查询风格:用于直接类似 SQL 表达式的 DSL 和用于实体生命周期管理的 DAO。HikariCP 通过 HikariConfig 配置来管理可重用的数据库连接池。Flyway 在启动时运行版本化的 SQL 迁移脚本以保持模式同步。所有数据库操作都在 newSuspendedTransaction 块内运行,以确保协程安全和原子性。仓储模式将 Exposed 查询包装在接口之后,使业务逻辑与数据层解耦,并且测试可以使用内存中的 H2 数据库。 | 模式 | 描述 | |---------|-------------| | object Table : UUIDTable("name") | 定义具有 UUID 主键的表 | | newSuspendedTransaction { } | 协程安全的事务块 | | Table.selectAll().where { } | 带条件的查询 | | Table.insertAndGetId { } | 插入并返回生成的 ID | | Table.update({ condition }) { } | 更新匹配的行 | | Table.deleteWhere { } | 删除匹配的行 | | Table.batchInsert(items) { } | 高效的批量插入 | | innerJoin / leftJoin | 连接表 | | orderBy / limit / offset | 排序和分页 | | count() / sum() / avg() | 聚合函数 | 记住:对于简单查询使用 DSL 风格,当需要实体生命周期管理时使用 DAO 风格。始终使用 newSuspendedTransaction 以获得协程支持,并将数据库操作包装在仓储接口之后以提高可测试性。

来源仓库
affaan-m/ECC
源文件
docs/zh-CN/skills/kotlin-exposed-patterns/SKILL.md
固定版本
d2ef2680594f9a17526a6e1a2e18b3d242c5d17b
阅读完整原作者说明 ↗

来源与内容状态

本条为自动发现的元数据,尚未完成人工文档核查;适用性与运行结果待核查。

原作者:affaan-m/ECC · 原作者仓库元数据。文档核查:未核查。最近来源检查:2026-11-09T15:01:42.398Z。

分类由名称、说明与路径规则生成,分类不代表已核实适配。

许可与权利归属

MIT。第三方内容及版权归原作者,使用条件以原文为准。

许可原文 ↗

本站没有因同步、复制或用户自报成功而将资源标为运行验证通过。

限制与注意事项

  • 元数据收录不代表本站已经安装、适配、实测或进行安全审查。