Files
labmem 1a48960022 feat: 添加 Go 内存分配示例并整理笔记
拆分 Go 第三方库笔记并更新索引。
新增 Gitleaks 使用说明,清理过时笔记。
2026-10-08 16:18:54 +08:00

790 B

gorm

官网文档

使用gorm + sqlx,但是复用sql连接

func NewServiceContext(c config.Config) *ServiceContext {
    logx.Infof("Cache config: %+v", c.CacheRedis)

    gormDB, err := gorm.Open(postgres.Open(c.Database.DataSource), &gorm.Config{})
    if err != nil {
       msg := fmt.Sprintf("连接数据库失败 %s ", err.Error())
       logx.Error(msg)
       panic(msg)
    }
    sqlDB, err := gormDB.DB()
    if err != nil {
       msg := fmt.Sprintf("获取底层连接失败: %s", err.Error())
       logx.Error(msg)
       panic(msg)
    }
    sqlxConn := sqlx.NewSqlConnFromDB(sqlDB)
    return &ServiceContext{
       Config:        c,
       UserAuthModel: models.NewUserAuthModel(sqlxConn, c.CacheRedis, gormDB),
    }
}