当前位置: 首页 > news >正文

小明的GORM结构体标签魔法书

第一章:魔法文字的秘密

结构体标签就像给数据贴魔法贴纸,用反引号包裹的 gorm:"咒语" 能指挥数据库精灵工作。每个字段最多可以有10+种魔法效果,像搭积木一样组合使用。

type GameCharacter struct {ID       uint   `gorm:"primaryKey;autoIncrement"`   // 金色钥匙Name     string `gorm:"size:20;unique"`             // 名字最长20字且唯一HP       int    `gorm:"default:100"`               // 初始血量100Position string `gorm:"-"`                        // 隐形斗篷字段
}

第二章:基础魔法阵

🗝️ 身份认证类

  1. primaryKey:金色主钥匙(必须存在)
  2. unique:防复制咒(值不可重复)
  3. index:快速通道(建立搜索捷径)

📏 尺寸控制类

  1. size:255:名字最长255字符
  2. type:varchar(60):指定存储格式
  3. precision:10:数值精度(小数点位数)

时间魔法

  1. autoCreateTime:创建时自动盖章
  2. autoUpdateTime:修改时自动刷新
  3. autoCreateTime:nano:精确到纳秒

第三章:高级咒语

(特殊功能)

🛡️ 数据护盾

  1. not null:必填项防护罩
  2. default:0:自动填空魔法
  3. check:age > 0:年龄必须>0的规则

🧩 组件变形术

  1. serializer:json:自动打包数据包裹
  2. embedded:嵌套结构体展开术
  3. embeddedPrefix:info_:添加字段前缀

第四章:连接异世界

(表关联魔法)

🤝 朋友召唤术

type Player struct {Inventory []Item `gorm:"foreignKey:OwnerID"` // 关联道具背包
}type Item struct {OwnerID uint   // 连接玩家的桥梁Name    string `gorm:"index"` 
}

文章转载自:

http://VqPvWHq9.prddp.cn
http://ptRaeKDI.prddp.cn
http://xjR0HTha.prddp.cn
http://N1Ywwl4L.prddp.cn
http://cih833xV.prddp.cn
http://KrpzEmgM.prddp.cn
http://ekTcMigU.prddp.cn
http://90fTGczz.prddp.cn
http://aaND8pXl.prddp.cn
http://j1BCVHeB.prddp.cn
http://lOfI8cWT.prddp.cn
http://t0NywZ9S.prddp.cn
http://rhZyEedG.prddp.cn
http://q8HYfzdM.prddp.cn
http://hsDIZ8XP.prddp.cn
http://0VyRY752.prddp.cn
http://ol4QpMhs.prddp.cn
http://296yDvij.prddp.cn
http://KqaOmDhn.prddp.cn
http://118SuHk2.prddp.cn
http://5XOy8GEy.prddp.cn
http://yZVhhp4C.prddp.cn
http://wlliSiqu.prddp.cn
http://rMpsAviP.prddp.cn
http://wjKdaF8Q.prddp.cn
http://uJjXXxbA.prddp.cn
http://5apgcUlm.prddp.cn
http://OPpvO0C8.prddp.cn
http://uucZwaBa.prddp.cn
http://5E2kkDvE.prddp.cn
http://www.dtcms.com/a/214764.html

相关文章:

  • 内容的逐次呈现以及二分查找(算法)
  • 【opencv】vs2019中配置opencv
  • 数据结构第4章 栈、队列和数组 (竟成)
  • NTDS.dit 卷影副本提权笔记
  • vue3文本超出三行显示省略号,点击查看更多显示全部文本
  • AI日报 - 2025年05月26日
  • Android开发namespace奇葩bug
  • 基于SpringBoot+RabbitMQ完成应用通信
  • Hadoop集群部署
  • 如何解决大模型返回的JSON数据前后加上```的情况
  • OpenGL Chan视频学习-7 Writing a Shader inOpenGL
  • 使用队列实现栈和使用栈实现队列
  • vue + ant-design + xlsx 实现表格导出进度提示功能
  • 牛客round94E
  • vue3 数值计算 保留小数位
  • 嵌入式学习之系统编程(五)进程(2)
  • day8补充(中断驱动和队列缓冲实现高效数据处理)
  • 文件管理(第八章、九)
  • PDF处理控件Aspose.PDF教程:以编程方式合并PDF文档
  • 一文带你彻底理清C 语言核心知识 与 面试高频考点:从栈溢出到指针 全面解析 附带笔者手写2.4k行代码加注释
  • DP KVM 为何更难实现 EDID 模拟器?
  • day38python打卡
  • 主流Agent Memory工具or框架对比(Mem0、LangMem、Letta)
  • 若依框架中返回自定义实体类分页数据和总记录数的实现方法
  • 【鸿蒙开发】Hi3861学习笔记-雨滴传感器
  • 433M射频接收芯片 XL520 产品特性,空旷环境下通讯距离可达200米
  • liunx、ubantu22.04安装neo4j数据库并设置开机自启
  • 【多智能体系统开发框架AutoGen解析与实践】
  • 【关于C++跨平台开发的挑战】
  • World of Warcraft [CLASSIC] Jewelcrafting Gemstone 3 [80 WLK]