爱摸鱼的Demon
首页
前端知识
后端技术
工程实践
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

爱摸鱼的Demon

我的地盘,欢迎光临。
首页
前端知识
后端技术
工程实践
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • C#

  • Golang

    • Go

    • Gin

    • GORM

      • Gorm初始化
        • 1、GORM
        • 2、Gorm初始化
          • 实际项目中定义数据库模型注意事项
      • Gorm之增删改查
      • Gorm之查询进阶版
      • Gorm之根据外键关联表
      • Gorm之关联进阶版
      • Gorm之事务
  • 后端技术
  • Golang
  • GORM
DemonW-X
2025-10-13
目录

Gorm初始化

# Gin中使用GORM操作

# 1、GORM

GORM是一种ORM(Object/Relational Mapping)框架。通过实例对象的语法,完成关系型数据库的操作技术。

  • 官方支持的数据库类型:MySQL、PostgreSQL、SQlite、SQL Server
  • 官方文档链接:https://gorm.io/zh_CN/docs/index.html

# 2、Gorm初始化

package models

import (
	"fmt"
	"gorm.io/gorm"
    "gorm.io/driver/mysql"
)

//建立数据表关联

var DB *gorm.DB
var err error

func InitDB() {
    //创建连接 
    //格式:登录名:登录密码@tcp(127.0.0.1:3307)/数据库名?charset=utf8mb4&parseTime=Trueloc=Local)
	dsn := "root:root@tcp(127.0.0.1:3307)/gin?charset=utf8mb4&parseTime=True&loc=Local)"
	DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Println("连接成功!")
	}

    //主函数初始化
    func main() {
	models.InitDB()
	if models.DB == nil {
		panic("数据库初始化失败: DB 为 nil")
	}
	r := gin.Default()
	...
    }
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

连接成功!

# 实际项目中定义数据库模型注意事项

  1. 结构体名称必须首字母大写,并和数据库表名称对应;若有下划线字段,使用驼峰命名法。 如:user -- User add_time -- AddTime
  2. 结构体中的字段名称首字母必须大写,冰河数据库表中字段一一对应。 如:表中username 对应 结构体中Username
  3. 默认情况表名是结构体名称的复数形式。 如:数据表名称定义为users,则结构体名称为User
  4. 可以使用结构体中的自定义方法TableName改变结构体的默认表名称。
    // 配置操作数据库表名称
     func (User) TableName() string {
     return "user"
     }
    
    1
    2
    3
    4
编辑 (opens new window)
Gin中间件
Gorm之增删改查

← Gin中间件 Gorm之增删改查→

最近更新
01
Gorm之事务
11-13
02
Gorm之关联进阶版
11-13
03
Gorm之根据外键关联表
11-13
更多文章>
Theme by Vdoing | Copyright © 2022-2025 爱摸鱼的Demon | 桂ICP备2024034950号 | 桂公网安备45142202000030
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式