GORM是一款强大的Go语言(Golang)ORM(对象关系映射)库,用于简化数据库操作。在后端开发中,使用GORM可以让我们更方便地操作数据库,减少手写SQL语句的工作量。以下是关于GORM的一些后端笔记:
- 安装GORM
可以通过Go命令行工具或者使用Go dep来安装GORM。例如,使用Go命令行工具安装:
go复制代码
go get -u github.com/jinzhu/gorm
- 创建数据库连接
在使用GORM之前,需要先创建数据库连接。可以使用GORM提供的Open函数来创建数据库连接,例如:
go复制代码
db, err := gorm.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname?charset=utf8&parseTime=True&loc=Local")
if err != nil {
panic("failed to connect database")
}
defer db.Close()
其中,第一个参数是数据库类型,第二个参数是数据库连接字符串。
3. 定义数据结构
在使用GORM之前,需要定义数据结构。可以使用GORM提供的结构体和标签来定义数据结构,例如:
go复制代码
type User struct {
ID uint `gorm:"primary_key"`
Name string `gorm:"not null;unique"`
Email string `gorm:"not null;unique"`
Phone string `gorm:"size:20"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time
}
其中,ID是主键,使用了gorm:"primary_key"标签。Name和Email都使用了unique标签,表示它们是唯一的。Phone使用了size:20标签,表示它的长度为20个字符。CreatedAt、UpdatedAt和DeletedAt是时间戳字段。
4. 操作数据库
使用GORM可以方便地操作数据库,例如:
- 查询数据:使用
Find方法可以查询符合条件的数据,例如:
go复制代码
var users []User
db.Find(&users) //查询所有用户数据
db.Where("name = ?", "Jinzhu").Find(&users) //查询名字为Jinzhu的用户数据
- 插入数据:使用
Create方法可以插入一条数据,例如:
go复制代码
user := User{Name: "Jinzhu", Email: "jinzhu@example.com"}
db.Create(&user) //插入一条用户数据
- 更新数据:使用
Update方法可以更新符合条件的数据,例如:
go复制代码
db.Where("name = ?", "Jinzhu").Update(User{Name: "Jin Zhu"}) //将名字为Jinzhu的用户的名字改为Jin Zhu