一、GORM介绍
GORM(Go Object Relational Mapping)是Go语言中最受欢迎的ORM(对象关系映射)库之一。它提供了简单且强大的方式将Go语言的结构体与关系型数据库之间进行映射,让开发者能够使用面向对象的方式来进行数据库操作,无需编写原始的SQL语句。
GORM的主要特点:支持多种数据库驱动,易于使用,自动迁移,数据库关联等等。GORM是个功能齐全、易于使用的 ORM库,它使得Go语言开发者可以更加高效地与数据库交互,提高了开发效率和代码质量。
二、GORM连接数据库
- 安装驱动
要使用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简单明了,并且功能丰富。