GORM中Hook(对象生命周期)应用:使用UUID作为数据库主键

2021/11/19 2:11:14

本文主要是介绍GORM中Hook(对象生命周期)应用:使用UUID作为数据库主键,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

GORM中Hook(对象生命周期)应用:使用UUID作为数据库主键

定义数据库模型结构体

type Article struct {
	ID         uuid.UUID `json:"id" gorm:"type:char(36);primary_key"`

}

在创建数据库结构体实例是调用钩子:BeforeCreate

//钩子:在文章被创建之前,通过UUID生成文章的ID
func (u *Article) BeforeCreate(tx *gorm.DB) (err error) {
	u.ID = uuid.NewV4()
	return
}

调用:

		// 创建article
	//var createuuid=uuid.NewV4()
	article := model.Article{
		//ID:			createuuid,
		UserId:     user.(model.User).ID, //用户的ID
		CategoryId: requestArticle.CategoryId, //传入的文章分类ID
		Title:      requestArticle.Title,//传入的文章标题
		HeadImg:    requestArticle.HeadImg,//传入文章的图片
		Content:    requestArticle.Content,//传入文章的内容
	}
	// 插入数据
	if err := common.DB.Create(&article).Error; err != nil {
		c.JSON(400, gin.H{
			"data": gin.H{
				"err":err,
			},
			"meta": gin.H{
				"msg":  "数据写入数据库失败",
				"code": 400,
			}})
		return
	}


这篇关于GORM中Hook(对象生命周期)应用:使用UUID作为数据库主键的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程