SuperAPI AI 工具集

gin-database

数据与分析

查看项目

更新于 10-15 22:12

技能介绍

用途:为 Go Gin API 接入 PostgreSQL,采用仓储模式把数据访问逻辑从 handler 和 service 中分离,并支持在不改动业务逻辑的前提下在 GORM 与 sqlx 之间切换。

主要能力:在领域层定义仓储接口、在仓储层实现具体数据库代码;配置数据库连接池(MaxOpenConns、MaxIdleConns、ConnMaxLifetime);编写 GORM 或 sqlx 查询;使用 golang-migrate 运行迁移;在 main.go 中按仓储→服务→处理器的方式装配依赖;编写可传递 context 的事务。

使用方式:在 internal/domain 定义 UserRepository 接口,在 internal/repository 用 GORM 或 sqlx 实现;通过 NewGORMDB 打开连接并设置连接池;服务层用 db.Transaction 编排事务,并通过 WithTx 把事务放入 context 供仓储读取;main.go 从环境变量 DATABASE_URL 读取连接串,依次创建仓储、服务、处理器。

适用场景:为 Gin 项目新增 PostgreSQL、实现仓储模式、编写 GORM/sqlx 查询、设置连接池、执行迁移、装配依赖图、编写事务。

限制与注意:资料未提供具体版本要求、性能数据或收费信息;凭据必须从环境变量读取,不可硬编码;更深入的 GORM、sqlx、迁移细节需查阅其 references 文件。