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
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
连接成功!
# 实际项目中定义数据库模型注意事项
- 结构体名称必须首字母大写,并和数据库表名称对应;若有下划线字段,使用驼峰命名法。 如:user -- User add_time -- AddTime
- 结构体中的字段名称首字母必须大写,冰河数据库表中字段一一对应。 如:表中username 对应 结构体中Username
- 默认情况表名是结构体名称的复数形式。 如:数据表名称定义为users,则结构体名称为User
- 可以使用结构体中的自定义方法TableName改变结构体的默认表名称。
// 配置操作数据库表名称 func (User) TableName() string { return "user" }1
2
3
4
编辑 (opens new window)