SuperAPI AI 工具集

jooq-patterns

编程与开发

查看项目

更新于 10-15 18:46

技能介绍

用途:这是一份 jOOQ 类型安全 SQL 模式参考,适用于实现数据库查询、仓储层(Repository)、复杂 SQL 操作以及 PostgreSQL 专有特性,示例语言为 Kotlin。

主要能力:

  • 仓储结构:基于 DSLContext 实现 findById、findByName、findAll、save、update、delete。
  • 记录到实体映射:为生成的 Record 编写扩展函数,或对连接查询结果做复杂映射。
  • 复杂查询:join、条件过滤与分页(含总数统计)、聚合分组统计。
  • 批量操作:batchInsert 批量插入,以及按 ID 集合批量更新状态。
  • PostgreSQL 特性:JSONB 字段读写与 JSON 路径查询、onConflict 的 upsert、当前时间戳与 interval 计算、数组字段包含查询。
  • 事务:在服务层用 dsl.transactionResult 显式控制事务范围,并在同一事务中写入关联资源。

使用方式:在 Spring 的 @Repository 或 @Service 中注入 DSLContext,使用 jOOQ 生成的表对象与字段进行类型安全查询;需要事务时通过 transactionResult 获得事务内 DSL 上下文;PostgreSQL JSONB 使用 JSONB.jsonb(...) 写入,JSON 路径用 DSL.field 构造。

适用场景:使用 jOOQ 的 Kotlin/Java 后端项目,涉及仓储层实现、分页筛选、联表查询、批量写入、幂等 upsert、PostgreSQL JSONB 与数组字段、以及需要显式事务边界的服务逻辑。

限制:示例面向 jOOQ 与 PostgreSQL,部分特性(JSONB、onConflict、数组操作)依赖 PostgreSQL;未提及具体 jOOQ 版本、依赖安装命令、授权、价格或性能数据,暂未提供。