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

49 阅读3分钟

一、GORM介绍

GORM(Go Object Relational Mapping)是Go语言中最受欢迎的ORM(对象关系映射)库之一。它提供了简单且强大的方式将Go语言的结构体与关系型数据库之间进行映射,让开发者能够使用面向对象的方式来进行数据库操作,无需编写原始的SQL语句。

GORM的主要特点:支持多种数据库驱动,易于使用,自动迁移,数据库关联等等。GORM是个功能齐全、易于使用的 ORM库,它使得Go语言开发者可以更加高效地与数据库交互,提高了开发效率和代码质量。

二、GORM连接数据库

  1. 安装驱动

要使用GORM连接数据库,首先进行安装GORM的MySQL 驱动。go get -u gorm.io/gorm go get -u gorm.io/driver/mysql

2.连接数据库

使用GORM连接数据库,首先导入GORM和mysql驱动包,然后定义数据库的连接信息,用这个信息来连接mysql,获取数据库连接对象进行需要的操作,连接成功后在程序退出前需要关闭连接。代码如下:

package main

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

func main() {
	// 数据库连接信息
	dsn := "root:123456@tcp(127.0.0.1:3306)/sqll?charset=utf8mb4&parseTime=True&loc=Local"

	// 连接数据库
	db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
	if err != nil {
		panic("连接数据库失败:" + err.Error())
	}

	// 程序退出前关闭数据库连接
	sqlDB, err := db.DB()
	if err != nil {
		panic("获取数据库连接对象失败:" + err.Error())
	}
	defer sqlDB.Close()

	fmt.Println("连接成功")
}

二、GORM增删改查

对数据库进行操作首先要做的是连接数据库,连接成功后,获取到获取了底层的 *sql.DB 对象 sqlDB,关闭连接,用sqlDB完成各种操作。

1.表创建

创建一个Users表。在GORM中,新建表步骤如下:(1)创建一个与表对应的模型结构:首先,创建一个Go结构体,来定义新表的字段和属性。该结构体需要对应数据库表的结构。(2)迁移数据库:定义模型结构后,需要使用GORM提供的迁移功能来自动创建数据库表。迁移是 GORM 中用于处理数据库模式变更的工具。

2.表数据增加

使用Create方法向"users"表中插入新的数据,创建一个User对象,设定好三个成员的值,使用db.Create保存到表内。

3.表数据打印

定义一个与 "users" 表对应的模型结构User。然后,使用db.Find(&users)查询数据库表 "users" 的内容,并将查询结果保存在 users 切片中。最后,遍历users切片,并使用fmt.Printf 来格式化打印 "users" 表中的每条记录的ID、Name和Age字段。

4.表数据查询

使用 Find、First 或 Where 等方法从 "user" 表中查询数据。

5.表数据删除

使用Delete方法从数据库中删除数据。

6.表数据修改

要修改数据库表的某条数据,可以使用 Model 方法来指定更新的对象,然后通过 Updates 或 Update 方法更新字段。

7.表删除

要在 GORM 中删除 "user" 表,可以使用 Migrator 对象的 DropTable 方法。Migrator 对象用于处理数据库的迁移操作,而 DropTable 方法用于删除表

三、个人感想

通过对于连接数据库,并且对于表数据的增删改查的实际操作,对于GORM有了深刻了解,并且根据与其他编程工具使用对比,明显感受到GORM简单明了,并且功能丰富。