go gorm之tag

        Go 语言的 GORM 是一个功能强大的对象关系映射(ORM)库,它允许开发者使用 Go 语言来操作数据库。在 GORM 中, tag  是一个特殊的注释标记,用于指定字段与数据库表的映射关系以及一些额外的配置。
        以下是一些常见的 GORM tag 用法示例:

基本映射:
// 假设有一个User结构体,其中Name字段对应数据库中的name列
type User struct {
    Name string `gorm:"column:name"`
}

主键:
// 设置ID为表的主键
type User struct {
    ID   uint   `gorm:"primary_key"`
    Name string
}


自动递增:
// 设置ID字段自动递增
type User struct {
    ID   uint   `gorm:"primary_key;auto_increment"`
}


忽略字段:
// 不将字段映射到数据库表中
type User struct {
    Name string
    Age  int    `gorm:"-"`
}
设置默认值:
// 为字段设置默认值
type User struct {
    CreatedAt time.Time `gorm:"default:CURRENT_TIMESTAMP"`
}
唯一索引:


// 为字段创建唯一索引
type User struct {
    Email string `gorm:"unique_index"`
}


多字段索引:


// 为多个字段创建索引
type User struct {
    FirstName string `gorm:"index:idx_name"`
    LastName  string `gorm:"index:idx_name"`
}


修改列类型:


// 指定列的类型
type User struct {
    Name string `gorm:"type:varchar(100)"`
}


关联关系:


// 定义一对多关系
type Author struct {
    ID uint
    Posts []Post `gorm:"foreignkey:AuthorID"`
}

 

// 定义多对多关系


type User struct {
    ID uint
    Roles []Role `gorm:"many2many:user_roles"`
}


        这些只是 GORM tag 的一些基本用法。GORM 还支持更复杂的配置,如自定义表名、时间戳设置、软删除等。你可以通过 GORM 的官方文档来获取更多信息和高级用法。

 

 

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

leijmdas

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值