使用 GORM连接数据库 | 青训营

64 阅读2分钟

当涉及到在 Go 项目中连接数据库并执行增删改查操作时,GORM 是一个强大的 ORM(对象关系映射)库,它可以大大简化数据库交互过程。本文将带你逐步了解如何使用 GORM 连接数据库以及实现基本的增删改查操作。

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

1.安装 GORM

首先,在 Go 项目中安装 GORM。使用以下命令获取 GORM 包以及数据库驱动:

go get -u gorm.io/gorm
go get -u gorm.io/driver/<your-database-driver>

确保将 <your-database-driver> 替换为实际数据库驱动,例如 mysqlpostgres 等。

2.建立数据库连接

导入 GORM 包并初始化数据库连接。以下是连接到 MySQL 数据库的示例代码:

package main

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

func main() {
	dsn := "user:password@tcp(host:port)/database_name?charset=utf8mb4&parseTime=True&loc=Local"
	db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
	if err != nil {
		panic("Failed to connect to the database")
	}
	
	fmt.Println("Connected to the database")
	defer db.Close()
}

3.定义模型结构

在 GORM 中,需要定义模型结构来映射数据库表。以下是一个名为 User 的模型定义示例:

type User struct {
	ID       uint   `gorm:"primaryKey"`
	Username string `gorm:"unique"`
	Email    string
}

4.创建表

通过 GORM 的自动迁移功能,可以在数据库中创建表。在连接数据库后,添加以下代码:

err = db.AutoMigrate(&User{})
if err != nil {
    panic("Failed to migrate the table")
}

5.实现增删改查操作

接下来,将演示如何执行基本的增删改查操作:

  • 创建记录(新增):
newUser := User{Username: "john_doe", Email: "john@example.com"}
db.Create(&newUser)
  • 查询记录:
var user User
db.First(&user, 1) // 根据 ID 查询第一条记录
db.Where("username = ?", "john_doe").First(&user) // 根据条件查询记录
  • 更新记录:
db.Model(&user).Update("Email", "new_email@example.com")
  • 删除记录:
db.Delete(&user, 1) // 根据 ID 删除记录

6.关闭连接

最后,在程序结束时,确保关闭数据库连接:

defer db.Close()