GORM的初使用|青训营

81 阅读2分钟

当使用GORM连接数据库并进行增删改查操作时,可以按照以下步骤进行:

安装GORM和适配的数据库驱动:

首先,需要在Go项目中安装GORM库及适配的数据库驱动。可以使用以下命令来安装:

    go get -u gorm.io/gorm
    go get -u gorm.io/driver/<driver_name>

<driver_name>是你要使用的数据库驱动,例如mysql、postgres等。

导入依赖包:

在Go代码中,导入GORM库及适配的数据库驱动。示例代码如下:

   import (
       "gorm.io/gorm"
       "gorm.io/driver/<driver_name>"
   )

创建数据库连接:

使用GORM连接到数据库并创建一个新的数据库连接。示例代码如下:

   dsn := "user:password@tcp(host:port)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
   db, err := gorm.Open(<driver_name>.Open(dsn), &gorm.Config{})
   if err != nil {
       panic("Failed to connect to database")
   }

在上面的示例中,你需要将 userpassword 替换为你的数据库用户名和密码,hostport 替换为你的数据库主机地址和端口号,dbname 替换为你要连接的数据库名称。

你还可以根据需要设置其他数据库连接选项,例如字符集、解析时间等。

定义数据模型:

使用结构体定义数据库表的模型。每个字段的名称和类型应与数据库表的列对应。示例代码如下:

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

执行数据库迁移:

在第一次运行时,需要执行数据库迁移操作来创建表。示例代码如下:

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

实现增删改查操作:

使用GORM提供的API来执行增删改查操作。以下是几个常见的示例操作:

插入数据:

    user := User{Name: "John", Email: "john@example.com"}
    db.Create(&user)

查询单个数据:

   var user User
   db.First(&user, 1) // 根据ID查询第一条数据

更新数据:

   db.Model(&user).Update("Email", "new_email@example.com") // 更新字段值

删除数据:

   db.Delete(&user)

查询多个数据:

        var users []User
        db.Find(&users)

关闭数据库连接:

在程序退出或不再使用数据库连接时,应该关闭数据库连接以释放资源。

    sqlDB, _ := db.DB()
    sqlDB.Close()

以上是使用GORM连接数据库并进行增删改查操作的基本步骤。通过使用GORM库,可以更方便地与数据库交互,简化SQL语句的编写,并提高代码的可读性和可维护性。