gorm学习随笔

简单记录一下gorm中常用方法的用途

// User 用户模型
type User struct {
    gorm.Model
    NickName string `gorm:"type:varchar(128)" json:"nickName"` // 昵称
    Phone    string `gorm:"type:varchar(11)" json:"phone"`     // 手机号
    Email    string `gorm:"type:varchar(128)" json:"email"`    //邮箱
}
// TableName 指定表名
func (u *User) TableName() string {
    return "role"
}

  创建model时 如果加上gorm.Model 会默认增加id、create_at、updated_at、deleted_at四个字段,其中id默认为自增主键。

各字段的定义 可以写在struct的tag标签中 

例如: gorm:"type:char(10);not null;default '';unique" 使用 ; 分隔,默认会采用下划线的方式创建表字段

  gorm连接MySQL

// xxxx 是连接MySQL需要的参数  想要正确的处理 time.Time,要带上 parseTime,loc是指定时区
// 格式:用户:密码@tcp(主机:端口)/库名?charset=utf8&parseTime=True&loc=Local
// db就是数据库的连接了 可以开始愉快的curd了 db, err := gorm.Open("mysql",xxxx)
defer db.Close()

  使用 db.AutoMigrate(&User{}) 来创建、更新user表结构

  使用 db.SingularTable(true) 可以让gorm创建表时表名不要自动加s变成复数的形式

  待续...

上一篇:三种处理复杂json存入数据库的方式gorm


下一篇:go外键关联