[js go]GORM

196 阅读1分钟

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)