赞
踩
ORM库是指对象关系映射库,它可以将数据库中的表和对象之间进行映射,方便开发人员在应用程序中操作数据库。一张表就是一个类,将表中的字段映射成类的属性。
所以我们在使用orm时 可以不关心你用的什么数据库。只关心我们的业务逻辑,即使开发人员不会sql语句 也能和数据库进行交互。
GORM(Go ORM)是一个在 Go 语言中使用的 ORM(对象关系映射)库。
GORM 是一个在 Go 语言中使用的 ORM(对象关系映射)库,它可以简化与数据库的交互操作。下面是使用 GORM 连接 MySQL 数据库的步骤:
在终端中执行以下命令来安装 GORM:
go get -u github.com/go-gorm/gorm
在 Go 代码中导入 GORM 和 MySQL 驱动的包:
- import (
- "gorm.io/gorm"
- "gorm.io/driver/mysql"
- )
使用 GORM 创建一个数据库连接:
- dsn := "user:password@tcp(127.0.0.1:3306)/database?charset=utf8mb4&parseTime=True&loc=Local"
- db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
- if err != nil {
- panic("Failed to connect to database")
- }
上述代码中的 user
、password
、database
分别表示 MySQL 数据库的用户名、密码和数据库名。你需要将它们替换为实际的值。
在gorm
官方文档的示例中,会默认在模型的属性中增加一个gorm.Model的属性。所以当我们在用户自定义的模型中增加gorm.Model
时,会自动为我们的表增加id,created_at,updated_at,deleted_at
四个字段。在定义模型时,我们可以根据实际的需求来决定是否引入gorm.Model
结构。
在 Go 代码中定义与数据库表对应的模型结构体。例如,假设有一个 User
表,包含 id
和 name
两个字段,可以定义如下模型结构体:
- type User struct {
- ID uint `gorm:"primaryKey"`
- Name string `gorm:"not null"`
- }
使用 GORM 进行增删改查操作。以下是一些常见的操作示例:
- user := User{Name: "Alice"}
- db.Create(&user)
- var user User
- db.First(&user, 1) // 查询 ID 为 1 的记录
- db.Find(&users) // 查询所有记录
db.Model(&user).Update("Name", "Bob") // 更新 user 记录的 Name 字段为 "Bob"
db.Delete(&user) // 删除 user 记录
在程序结束时,关闭数据库连接:
db.Close()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。