1. 安装GORM
go get github.com/go-gorm/gorm
2. 导入GORM
import (
"github.com/go-gorm/gorm"
_ "github.com/go-gorm/gorm/dialects/mysql"
)
3. 连接MySQL数据库
dsn := "user:password@tcp(127.0.0.1:3306)/db_name?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic(err)
}
4. 使用数据库
db.Model(&User{}).Update("age", 18)
5. 关闭数据库连接
db.Close()
下面是一个完整的示例
package main
import (
"fmt"
"github.com/go-gorm/gorm"
_ "github.com/go-gorm/gorm/dialects/mysql"
)
type User struct {
gorm.Model
Name string
Age int
}
func main() {
dsn := "user:password@tcp(127.0.0.1:3306)/db_name?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic(err)
}
//创表
err = db.AutoMigrate(&User{})
if err != nil {
panic(err)
}
//增加
user := User{Name: "John", Age: 20}
err = db.Create(&user).Error
if err != nil {
panic(err)
}
// 查询
var users []User
err = db.Find(&users).Error
if err != nil {
panic(err)
}
fmt.Println(users)
// 删除
err = db.Delete(&user).Error
if err != nil {
panic(err)
}
fmt.Println("User deleted")
// 修改
user.Age = 21
err = db.Model(&user).Update("Age", user.Age).Error
if err != nil {
panic(err)
}
fmt.Println(user.ID, user.Name, user.Age)
db.Close()
}
这个示例使用了GORM连接MySQL数据库,并创建了一个用户表,然后向该表中插入一条记录,并打印出该记录的ID、姓名和年龄。最后关闭了数据库连接。
网友评论