ORM 库
ORM是Go语言中与数据库交互的强大工具,它可以大大简化数据库操作,减少手动编写SQL的工作量,提高开发效率。GORM作为Go语言中的一个优秀ORM库,提供了丰富的功能和便捷的API,使得在应用程序中操作数据库变得更加容易和愉快。无论是小型项目还是大型应用,使用GORM都能够让数据库操作更加高效和可维护。
安装gorm
安装gorm需要使用 Go 的包管理工具,可以执行以下命令:
go get -u gorm.io/gorm
go get -u gorm.io/driver/<YOUR_DATABASE_DRIVER>
建立数据库连接
完成上述两步后,你需要配置数据库连接参数,并建立连接。
package main
import (
"gorm.io/driver/<YOUR_DATABASE_DRIVER>"
"gorm.io/gorm"
)
func main() {
// 定义数据库连接字符串,包括用户名、密码、主机、端口、数据库名等信息
dsn := "user:password@tcp(host:port)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
// 连接数据库,如果出错则终止程序运行
db, err := gorm.Open(<YOUR_DATABASE_DRIVER>.Open(dsn), &gorm.Config{})
if err != nil {
panic("Failed to connect to database")
}
// 在这里可以使用 db 进行数据库操作,下面介绍的操作都在这里进行
}
创建数据表
在 GORM 中,模型结构代表了数据库中的表格。因此在创建数据表前,需要定义一个结构体来映射到数据库表,并使用 GORM 的标签来定义字段名、主键、关联等信息。
type Person struct {
ID uint `gorm:"primaryKey"`
//`gorm:"primaryKey"`:将此字段映射为数据库表的主键。
Name string
Age int
}
定义好结构体后就可以创建数据表了,创建数据表可以通过AutoMigrate 方法来创建数据表。
db.AutoMigrate(&Person{})
插入数据
使用 Create 方法将数据插入数据库
newPerson := Person{Name: "zhangsan", Age: 20}
db.Create(&newPerson)
查询数据
使用 GORM 提供的方法进行数据查询
var persons []Person
db.Find(&persons)
var person Person
db.Where("name = ?", "zhangsan").First(&person)
更改数据
操作如下
db.Model(&person).Update("Age", 26)
删除数据
删除数据可以用Delete方法
db.Delete(&person)
总结
通过使用GORM连接数据库并进行增删改查的过程,我深刻认知了GORM的简洁性,通过一系列易于使用的方法和API,将数据库操作抽象成 Go 语言的对象操作,极大的简化了数据库的增删改查等操作。而且不需要手动编写大量的 SQL 查询语句,而是通过方法链式调用来构建查询条件,减少了错误的风险,同时也提高了代码的可维护性,极大的方便的代码的编写。