GORM
GORM是一个go语音的对象关系映射框架
安装与导入
$ go get -u github.com/jinzhu/gorm
import (
"fmt"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"
)
连接mysql
db, err := gorm.Open("mysql", "u:p@tcp(host:port)/db?charset=utf8mb4&parseTime=True&loc=Local")
if err!= nil{
panic(err)
}
defer db.Close()
Create
// 开发老哥
type DevBro struct {
ID uint
Name string
Age int
}
// 自动迁移
db.AutoMigrate(&DevBro{})
u1 := DevBro{1, "Jack", 25}
u2 := DevBro{2, "Jason", 35}
// 创建记录
db.Create(&u1)
db.Create(&u2)
Read
u := new(DevBro)
db.First(u)
fmt.Printf("%#v \n", u) // &main.DevBro{ID:0x1, Name:"Jack", Age:25}
var u DevBro
db.Find(&u, "age=?", "35")
fmt.Printf("%#v \n", u) // main.DevBro{ID:0x2, Name:"Jason", Age:35}
Update
var u DevBro
db.Find(&u, "age=35")
fmt.Printf("%#v \n", u) // main.DevBro{ID:0x2, Name:"Jason", Age:35}
db.Model(&u).Update("age", 18)
fmt.Printf("%#v \n", u) // main.DevBro{ID:0x2, Name:"Jason", Age:18}
Delete
db.Delete(&u)