Gorm之gorm.Model详解
文章目录
- 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详解相关推荐
- [转载] 【全面总结】Tensorflow 2.0+与Keras的联系与应用(含model详解)
参考链接: Tensorflow 2.0的新功能 Tensorflow 2.0+与Keras的联系与应用(含model详解) 事实上我个人入坑tensorflow比较晚,于是导致我其实并没有经历Ten ...
- 00x: Django models.Model详解
Models model是对于信息的一种模型封装与定义.它包含了你要存储的必要字段和操作数据的方法.一句话概括就是,每个模型映射了一张数据表. 基本概念: 每个model都是继承于django.db. ...
- 基于Castle ActiveRecord开发Domain Model详解(一)对象关系到数据表的映射
Castle Project非常庞大,ActiveRecord是其中一个非常适合用于Domain Model开发的O/R Mapping框架.它使用.NET的反射特性无需配置文件,集成NHiberna ...
- Gorm之Tag标签用法详解
目录 Gorm之Tag标签用法详解 1.Tag标签 1.1CURD权限标签 1.2字段标签 1.3关联标签 2.主键标签 2.1默认主键 2.2自定义主键 Gorm之Tag标签用法详解 1.Tag标签 ...
- Go语言教程第十六集 GORM详解
GORM介绍和使用 什么是ORM Object Relational Mapping:对象关系映射 结构体 和 SQL数据库存在映射,这个时候就有了ORM语句 一句话说:就是将数据库中的表数据 和 结 ...
- golangORM框架gorm详解(超详细)
ORM简介 对象关系映射模式(object relational Mapping)是为了解决面向对象和关系型数据库存在的互不匹配的问题,简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程 ...
- Golang GORM 详解
学习目标: 1. GORM 介绍 2. GORM 使用 学习内容: 1 GORM介绍 GORM 是基于 Go 语言的 ORM 库,可使开发者对数据库使用更为方便,支持多种数据库. 它提供了许多功能,例 ...
- 【GORM框架】ORM介绍、GORM简单连接和高级配置详解
博主简介:努力学习的大一在校计算机专业学生,热爱学习和创作.目前在学习和分享:数据结构.Go,Java等相关知识. 博主主页: @是瑶瑶子啦 所属专栏: GORM框架学习 近期目标:写好专栏的每一篇文 ...
- 详解CSS的盒模型(box model) 及 CSS3新增盒模型计算方式box-sizing
W3C规范 一般来说,页面中的每一个元素都会形成一个矩形盒子,渲染引擎根据给定的样式确定这个盒子的呈现.通俗的来说,页面的布局就是一个个盒子的排列和摆放.掌握了盒子呈现的本质,布局也就轻而易举. 在 ...
最新文章
- linux不写日志,linux 重要日志
- php heredoc 用法
- UE4如何解析命令行参数
- python3中input输入浅谈_详解Python3中的 input() 函数
- Appium UiWatchers 监听解决各种非期待弹窗,弹层,弹弹弹等问题
- android渠道校验,Android渠道版本自动化校验
- 21个php常用方法汇总
- Mac可以在Dock上监视磁盘活动
- webots离线网页无法跳转
- mx250显卡天梯图_mx250显卡天梯图_2020最新笔记本显卡天梯图,看看你的显卡排在哪里吧...
- marshmallow——Nested 类型
- 波恩大学Cyrill Stachniss SLAM课程
- 如何区分好老师和坏老师?以及中国的音乐培训圈都多不要脸
- python中strip函数_python中strip()函数的理解
- 浪潮ClusterEngineV4.0 任意用户登录漏洞
- 字符串匹配——KMP算法【C语言】
- 学习计算机审计的原因,计算机审计学习心得体会
- SSH原理与运用:远程登录
- 静态网页与动态网页的理解
- 为什么感觉现在华为云比阿里云更受欢迎?