文章目录

  • Gorm之Model模型
    • 1.模型定义
    • 2.gorm.Model模型定义
    • 3.嵌套gorm.Model结构体
    • 4.嵌套普通结构体
    • 5.嵌入普通结构体并添加前缀
    • 6.自定义模型

Gorm之Model模型

注:本文是基于Windos系统上 gorm.io/gorm@v1.23.4、gorm.io/driver/mysql@v1.3.3进行讲解

1.模型定义

模型:定义的这个模型与表是一一对应,我们在查找表时是用这个模型来代替表的,然后来操作数据库中的对应的数据表;
模型一般都是结构体、Go的基本数据类型,或者指针、sql.Scanner、driver.Valuer、接口;(结构体最常用)

2.gorm.Model模型定义

下面这个模型是系统自带的一个模型, 包含的字段有 ID,CreatedAt, UpdatedAt, DeletedAt。
Time是time包里的一个结构体

// Model a basic GoLang struct which includes the following fields: ID, CreatedAt, UpdatedAt, DeletedAt
// It may be embedded into your model or you may build your own model without it
//    type User struct {
//      gorm.Model
//    }
type Model struct {ID        uint `gorm:"primarykey"`CreatedAt time.TimeUpdatedAt time.TimeDeletedAt DeletedAt `gorm:"index"`
}

3.嵌套gorm.Model结构体

把系统自带的“内置结构体”给嵌套到自定义的结构体里面;(go原因是支持嵌套的)

package mainimport ("fmt""gorm.io/driver/mysql""gorm.io/gorm"
)
type user struct {gorm.ModelName string
}
func main() {dsn := "root:414524@tcp(127.0.0.1:3306)/gotest?charset=utf8mb4&parseTime=True&loc=Local"conn, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})if err != nil {fmt.Println(err)}conn.AutoMigrate(&user{})
}

4.嵌套普通结构体

5.嵌入普通结构体并添加前缀

6.自定义模型

type User struct {ID   intName string
}

Gorm之gorm.Model详解相关推荐

  1. [转载] 【全面总结】Tensorflow 2.0+与Keras的联系与应用(含model详解)

    参考链接: Tensorflow 2.0的新功能 Tensorflow 2.0+与Keras的联系与应用(含model详解) 事实上我个人入坑tensorflow比较晚,于是导致我其实并没有经历Ten ...

  2. 00x: Django models.Model详解

    Models model是对于信息的一种模型封装与定义.它包含了你要存储的必要字段和操作数据的方法.一句话概括就是,每个模型映射了一张数据表. 基本概念: 每个model都是继承于django.db. ...

  3. 基于Castle ActiveRecord开发Domain Model详解(一)对象关系到数据表的映射

    Castle Project非常庞大,ActiveRecord是其中一个非常适合用于Domain Model开发的O/R Mapping框架.它使用.NET的反射特性无需配置文件,集成NHiberna ...

  4. Gorm之Tag标签用法详解

    目录 Gorm之Tag标签用法详解 1.Tag标签 1.1CURD权限标签 1.2字段标签 1.3关联标签 2.主键标签 2.1默认主键 2.2自定义主键 Gorm之Tag标签用法详解 1.Tag标签 ...

  5. Go语言教程第十六集 GORM详解

    GORM介绍和使用 什么是ORM Object Relational Mapping:对象关系映射 结构体 和 SQL数据库存在映射,这个时候就有了ORM语句 一句话说:就是将数据库中的表数据 和 结 ...

  6. golangORM框架gorm详解(超详细)

    ORM简介 对象关系映射模式(object relational Mapping)是为了解决面向对象和关系型数据库存在的互不匹配的问题,简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程 ...

  7. Golang GORM 详解

    学习目标: 1. GORM 介绍 2. GORM 使用 学习内容: 1 GORM介绍 GORM 是基于 Go 语言的 ORM 库,可使开发者对数据库使用更为方便,支持多种数据库. 它提供了许多功能,例 ...

  8. 【GORM框架】ORM介绍、GORM简单连接和高级配置详解

    博主简介:努力学习的大一在校计算机专业学生,热爱学习和创作.目前在学习和分享:数据结构.Go,Java等相关知识. 博主主页: @是瑶瑶子啦 所属专栏: GORM框架学习 近期目标:写好专栏的每一篇文 ...

  9. 详解CSS的盒模型(box model) 及 CSS3新增盒模型计算方式box-sizing

    W3C规范 一般来说,页面中的每一个元素都会形成一个矩形盒子,渲染引擎根据给定的样式确定这个盒子的呈现.通俗的来说,页面的布局就是一个个盒子的排列和摆放.掌握了盒子呈现的本质,布局也就轻而易举. 在 ...

最新文章

  1. linux不写日志,linux 重要日志
  2. php heredoc 用法
  3. UE4如何解析命令行参数
  4. python3中input输入浅谈_详解Python3中的 input() 函数
  5. Appium UiWatchers 监听解决各种非期待弹窗,弹层,弹弹弹等问题
  6. android渠道校验,Android渠道版本自动化校验
  7. 21个php常用方法汇总
  8. Mac可以在Dock上监视磁盘活动
  9. webots离线网页无法跳转
  10. mx250显卡天梯图_mx250显卡天梯图_2020最新笔记本显卡天梯图,看看你的显卡排在哪里吧...
  11. marshmallow——Nested 类型
  12. 波恩大学Cyrill Stachniss SLAM课程
  13. 如何区分好老师和坏老师?以及中国的音乐培训圈都多不要脸
  14. python中strip函数_python中strip()函数的理解
  15. 浪潮ClusterEngineV4.0 任意用户登录漏洞
  16. 字符串匹配——KMP算法【C语言】
  17. 学习计算机审计的原因,计算机审计学习心得体会
  18. SSH原理与运用:远程登录
  19. 静态网页与动态网页的理解
  20. 为什么感觉现在华为云比阿里云更受欢迎?

热门文章

  1. 云计算(Gitlab+jenkins+maven)
  2. 【教程】使用ChatGPT制作基于Tkinter的桌面时钟
  3. mac电脑之间大文件传输
  4. 一分钟了解python字符串常用的函数
  5. VSCode用户代码片段无提示
  6. 【2012.03.3普及组】打牌
  7. Yearning SQL审核平台使用分享
  8. 给小朋友讲故事——谈谈杨振宁先生第三部分终篇(七次提交稿)
  9. 防弹笔记本电脑 - 如何强大是今天的坚固的笔记本电脑
  10. 实测有效防止colab自动断开连接