Gorm使用mysql


官方手册:https://gorm.io/zh_CN/docs/index.html

安装

go get -u gorm.io/gorm // gorm
go get -u gorm.io/driver/mysql // mysql数据库驱动

连接数据库

例如:

dsn := "username:password@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})

username为数据库用户名

password为数据库密码

dbname为数据库名称

charset指定编码

parseTime必须带上,用来正确的处理时间

loc使用本地时间

声明模型

使用结构体声明模型

例如:

type User struct {
  ID           uint
  Name         string
  Email        *string
  Age          uint8
  Birthday     *time.Time
  MemberNumber sql.NullString
  ActivatedAt  sql.NullTime
  CreatedAt    time.Time // 规定创建时间
  UpdatedAt    time.Time // 规定更新时间
}

GORM 倾向于约定,而不是配置。默认情况下,GORM 使用 ID 作为主键,使用结构体名的 蛇形复数 作为表名,字段名的 蛇形 作为列名,并使用 CreatedAtUpdatedAt 字段追踪创建、更新时间

迁移数据库

db.AutoMigrate(&User{}) // 迁移数据库

相关