Golang语言知识库

知识分享之Golang——gorm的结构体常用标签

2022-03-31  本文已影响0人  cn華少

知识分享之Golang——gorm的结构体常用标签

背景

知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。

知识分享系列目前包含Java、Golang、Linux、Docker等等。

开发环境

内容

近期一直在使用gorm进行数据的增删改查操作,其每个表或每个数据结果都会对应一个结构体,但是有时在使用这个结构体时会额外增加一部分字段作为一些其他业务逻辑的使用,这时如何来有效避免一些字段不被gorm进行处理呢,我去查阅了官方文档和其网上的资料,整理本节内容,以下是其结构体中常用的使用方式,便于小伙伴们使用:

标签名 作用 案例
column 指定字段名,如果不指定通常是字段的小写驼峰格式 gorm:"column:usr_id;"
primaryKey 是否是主键 gorm:"column:usr_id;primaryKey"
unique 是否唯一 gorm:"column:usr_id;unique"
default 指定默认值 gorm:"column:usr_id;default:123"
- 忽略该字段 gorm:"-"
-> 只读 gorm:"->;column:usr_id"
<- 允许读和写 gorm:"<-;column:usr_id"
<-:update 允许读和更新 gorm:"<-:update;column:usr_id"
<-:create 允许读和创建 gorm:"<-:create;column:usr_id"
->:false;<-:create 仅创建 gorm:"->:false;<-:create;column:usr_id"
// 覆盖User结构体使用的表名
func (User) TableName() string {
  return "profiles"
}

参见内容:

https://gorm.io/docs/models.html#embedded_struct
https://blog.csdn.net/qq_35709559/article/details/109711919

本文声明:
88x31.png
知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
上一篇 下一篇

猜你喜欢

热点阅读