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
作为主键,使用结构体名的 蛇形复数
作为表名,字段名的 蛇形
作为列名,并使用 CreatedAt
、UpdatedAt
字段追踪创建、更新时间
迁移数据库
db.AutoMigrate(&User{}) // 迁移数据库