使用GORM连接数据库并实现增删改查操作| 青训营

71 阅读2分钟

简介

  • GORM是一个流行的Go语言ORM库,它简化了与数据库的交互过程。本文将介绍如何使用GORM连接数据库,并利用其提供的API实现常见的增删改查操作。
  • 通过以下步骤,可成功地使用GORM连接数据库,并实现了常见的增删改查操作。GORM的易用性和灵活性使得与数据库的交互变得简单高效。

步骤

一、引入依赖 首先,在Go项目的模块中引入GORM依赖。可以使用go mod命令直接获取依赖:

go get -u gorm.io/gorm
go get -u gorm.io/driver/mysql

二、建立数据库连接 在代码中导入GORM和MySQL驱动,并创建数据库连接:

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

func main() {
    // 数据库连接配置
    dsn := "username:password@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
    
    // 建立数据库连接
    db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
    if err != nil {
        panic("Failed to connect to database")
    }
    
    // 关闭数据库连接
    defer db.Close()
}

三、定义数据模型 在GORM中,将数据表映射为Go结构体。每个结构体代表一个数据表,并包括数据表的字段和相关方法。

type User struct {
    gorm.Model
    Name  string
    Email string
}

四、创建数据表 在数据库中创建对应的数据表结构,可以使用GORM提供的AutoMigrate方法自动创建:

func main() {
    // ...
    
    // 自动迁移数据表
    db.AutoMigrate(&User{})
}

五、插入数据 可以使用GORM提供的Create方法向数据表中插入新数据:

func main() {
    // ...
    
    // 插入数据
    user := User{Name: "John Doe", Email: "john@example.com"}
    db.Create(&user)
}

六、查询数据 可以使用GORM提供的Find方法来查询数据:

func main() {
    // ...
    
    // 查询数据
    var users []User
    db.Find(&users)
    
    for _, user := range users {
        fmt.Println(user.Name, user.Email)
    }
}

七、更新数据 可以使用GORM提供的Save方法来更新数据:

func main() {
    // ...
    
    // 更新数据
    var user User
    db.First(&user, 1) // 根据ID查询第一条记录
    user.Name = "New Name"
    user.Email = "new@example.com"
    db.Save(&user)
}

八、删除数据 可以使用GORM提供的Delete方法来删除数据:

func main() {
    // ...
    
    // 删除数据
    var user User
    db.First(&user, 1) // 根据ID查询第一条记录
    db.Delete(&user)
}