gorm是一个Go语言的ORM(对象关系映射)库,它提供了简单易用的API,方便我们在Go语言中进行数据库操作。
Gorm支持MySQL、PostgreSQL、SQLite等多种数据库,并且提供了链式操作和事务处理等功能。使用Gorm可以使我们在编写数据库代码时更加简洁、直观,并且减少手动SQL拼接的工作量。
以下是一个基本的使用示例:
package main
import (
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
type User struct {
ID uint
Name string
}
func main() {
dsn := "user:password@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic(err)
}
// 自动创建表格
db.AutoMigrate(&User{})
// 插入数据
user := User{Name: "张三"}
result := db.Create(&user)
// 查询数据
var users []User
db.Find(&users)
}
以上示例中,我们首先通过dsn连接到MySQL数据库,并创建一个名为User
的结构体。然后调用db.AutoMigrate()
方法自动创建对应的表格。
接着插入一条数据并查询所有用户信息。这些操作都是通过Gorm提供的API实现的,使得代码更加简洁易读。
当然,Gorm还提供了更多的API和功能,如链式查询、事务处理、预加载等。如果您需要更加详细的使用方法,请参考官方文档:https://gorm.io/docs/