gorm

module
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 15, 2026 License: MIT

README

gorm

SQL/GORM 全家桶——连接池增强/框架无关 CRUD Service

🌐 项目主页:https://oekit.github.io/ · 名称由来:Open Easy Kit(开源 · 易用 · 工具集合) 🤖 AI Agent:本仓规范与硬规则见 AGENTS.md;机器可读索引见 llms.txt(接口签名以源码为准)。

安装

go get github.com/oekit/gorm@v0.2.0

这个仓库做什么

gorm 是 SQL/GORM 全家桶:连接池增强、框架无关的 CRUD Service、GORM 仓储实现。 让业务 handler 不直接碰 gorm,也让 Service 可被 HTTP/RPC 双协议复用。

组成

包 做什么
gormx Open(函数选项连接池)、OpenMySQL、Paginate(单查询分页)、InTransactionContext、FilterBuilder
crud 框架无关 CRUD Service:泛型 NewBaseService[T, CreateReq, UpdateReq];repo 实现 TxRepository 时 Update 自动「事务 + FOR UPDATE 行锁」消除丢更新,afterUpdate 钩子失败整体回滚
gormrepo NewGormRepository[T](db) 仓储实现

快速使用

import (
    "github.com/oekit/gorm/crud"
    "github.com/oekit/gorm/crud/gormrepo"
    "github.com/oekit/gorm/gormx"
)

db, _ := gormx.Open(dialector, gormx.WithConnectionPool(10, 100, time.Hour))
repo := gormrepo.NewGormRepository[Project](db)
svc := crud.NewBaseService[Project, CreateReq, UpdateReq](repo)

边界

矩阵总览

矩阵总览(23 活跃模块,自动生成)

模块 内容 矩阵内依赖
pkg 微工具集 16 合 1(errors/validator/stringx/…) —
concurrency 并发与流控原语 —
logx 日志门面 + shutdown —
core 应用基建件 —
istio Istio XDS —
metrics Prometheus 门面 core
tracing OTel + traceid logx
registry 注册发现 + Nacos + 配置 core、logx
data 缓存检查器 concurrency、logx
gorm SQL/CRUD logx、pkg
redis Redis 全家 concurrency、data、logx
httpx HTTP 客户端 concurrency、core、logx、metrics、registry、tracing
network 轻量网络件 concurrency、logx、tracing
timertask 定时任务 concurrency、logx
middleware Hertz 中间件栈 concurrency、core、logx、metrics、pkg、registry、tracing
nns 服务治理门面 concurrency、core、logx、registry
nns-endpoint 端点熔断重试 concurrency、core、httpx、logx、metrics、nns、registry
bootstrap 应用引导 concurrency、logx
handler CRUD handler concurrency、core、gorm、logx、metrics、middleware、pkg、registry、tracing
hertz Hertz 运行时 bootstrap、concurrency、core、logx、metrics、nns、registry、tracing
kitex Kitex 生态 bootstrap、concurrency、core、logx、metrics、nns、pkg、registry
workflow 流程编排 concurrency、logx
kitex-examples Kitex 示例 bootstrap、concurrency、core、kitex、logx、metrics、nns、pkg、registry、tracing

依赖严格自底向上;微库已合并为 pkg,旧微库仓已删除。

本仓在矩阵中的位置与依赖见上表「矩阵内依赖」列。历史沿革:源自 ekit 单体库 (git.enjoye.top/enjoydream/ekit v0.34.0,冻结维护),2026-10 拆分为独立 module。

License

MIT — 见 LICENSE

Directories

Path Synopsis
Package crud 提供通用 CRUD 的泛型数据层基础设施。
Package crud 提供通用 CRUD 的泛型数据层基础设施。
gormrepo
Package gormrepo 提供 data/crud 仓储接口的 GORM 实现。
Package gormrepo 提供 data/crud 仓储接口的 GORM 实现。
Package gormrepo 提供 data/crud 仓储接口的 GORM 实现。
Package gormrepo 提供 data/crud 仓储接口的 GORM 实现。
Package gormx 提供 GORM 数据库客户端封装。
Package gormx 提供 GORM 数据库客户端封装。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL