![](https://img-blog.csdnimg.cn/b2d33ae4dfcf4d0bbb52a755578bd7fd.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Gorm
文章平均质量分 70
个人的Gorm笔记
~庞贝
Go后端开发
展开
-
Gorm之Tag标签用法详解
Gorm之Tag标签用法详解原创 2022-06-25 10:23:58 · 2438 阅读 · 2 评论 -
Gorm之gorm.io/gorm源码
Gorm之gorm.io/gorm源码原创 2022-06-25 09:59:26 · 1040 阅读 · 0 评论 -
Gorm之gorm.Migrator接口详解
2.HasTable方法15.DropTable方法26.RenameTable方法原创 2022-06-24 14:56:12 · 396 阅读 · 0 评论 -
Gorm之gorm.Config结构体字段解析
2.NamingStrategy(表名)字段2.1系统默认表名2.2取消默认表名2.4自定义表名3.DisableForeignKeyConstraintWhenMigrating(外键约束)字段3.1默认外键约束3.2取消外键约束4.NowFunc(创建时间)字段原创 2022-06-23 18:18:28 · 1665 阅读 · 3 评论 -
Gorm之关联
会与另一个模型建立了一对一的连接。 这种模型的每一个实例都“属于”另一个模型的一个实例。例如,您的应用包含 user 和 company,并且每个 user 能且只能被分配给一个 company。下面的类型就表示这种关系。 注意,在 对象中,有一个和 一样的 。 默认情况下, 被隐含地用来在 和 之间创建一个外键关系, 因此必须包含在 结构体中才能填充 内部结构体。请参阅 预加载 以了解内部结构的详细信息。要定义一个 belongs to 关系,数据库的表中必须存在外键。默认情况下,外键的名原创 2022-06-20 13:00:01 · 3901 阅读 · 4 评论 -
Gorm之SQL构造器
原生查询 SQL 和 原生 SQL命名参数GORM 支持 、 或 struct 形式的命名参数,例如:DryRun 模式在不执行的情况下生成 及其参数,可以用于准备或测试生成的 SQL,详情请参考 SessionToSQL返回生成的 但不执行。GORM使用 database/sql 的参数占位符来构建 SQL 语句,它会自动转义参数以避免 SQL 注入,但我们不保证生成 SQL 的安全,请只用于调试。 & 获取 结果获取 结果转到 FindInBatches 获取如何在批量原创 2022-06-19 12:35:23 · 1812 阅读 · 0 评论 -
Gorm之CRUD删除
删除一条记录时,删除对象需要指定主键,否则会触发 批量 Delete,例如:根据主键删除GORM 允许通过主键(可以是复合主键)和内联条件来删除对象,它可以使用数字(如以下例子。也可以使用字符串——译者注)。查看 查询-内联条件(Query Inline Conditions) 了解详情。Delete Hook对于删除操作,GORM 支持 、 Hook,在删除记录时会调用这些方法,查看 Hook 获取详情批量删除如果指定的值不包括主属性,那么 GORM 会执行批量删除,它将删除所有匹配的记录阻原创 2022-06-19 10:46:53 · 329 阅读 · 0 评论 -
Gorm之CRUD更新
会保存所有的字段,即使字段是零值更新单个列当使用 更新单个列时,你需要指定条件,否则会返回 错误,查看 Block Global Updates 获取详情。当使用了 方法,且该对象主键有值,该值会被用于构建条件,例如:更新多列 方法支持 和 参数。当使用 更新时,默认情况下,GORM 只会更新非零值的字段更新选定字段如果您想要在更新时选定、忽略某些字段,您可以使用 、更新 Hook对于更新操作,GORM 支持 、、、 钩子,这些方法将在更新记录时被调用,详情请参阅 钩子批量更原创 2022-06-18 21:06:53 · 3605 阅读 · 2 评论 -
Gorm之CRUD查询
GORM 提供了 、、 方法,以便从数据库中检索单个对象。当查询数据库时它添加了 条件,且没有找到记录时,它会返回 错误 和 会根据主键排序,分别查询第一条和最后一条记录。 只有在目标 struct 是指针或者通过 指定 model 时,该方法才有效。 此外,如果相关 model 没有定义主键,那么将按 model 的第一个字段进行排序。 例如:用主键检索如果主键是数字类型,您可以使用 内联条件 来检索对象。 传入字符串参数时,需要特别注意 SQL 注入问题,查看 安全 获取详情.如果主键原创 2022-06-18 17:06:11 · 420 阅读 · 0 评论 -
Gorm之CRUD创建
用指定的字段创建记录创建记录并更新给出的字段。创建一个记录且一同忽略传递给略去的字段值。批量插入要有效地插入大量记录,请将一个 传递给 方法。 GORM 将生成单独一条SQL语句来插入所有数据,并回填主键的值,钩子方法也会被调用。使用 分批创建时,你可以指定每批的数量,例如:Upsert 和 Create With Associations 也支持批量插入创建钩子GORM 允许用户定义的钩子有 , , , 创建记录时将调用这些钩子方法,请参考 Hooks 中关于生命周期的详细信息如原创 2022-06-18 16:14:57 · 343 阅读 · 0 评论 -
Gorm之MySQL连接数据库
GORM 官方支持的数据库类型有: MySQL, PostgreSQL, SQlite, SQL ServerMySQl 驱动程序提供了 一些高级配置 可以在初始化过程中使用,例如:自定义驱动GORM 允许通过 选项自定义 MySQL 驱动,例如:现有的数据库连接GORM 允许通过一个现有的数据库连接来初始化...原创 2022-06-18 15:14:12 · 485 阅读 · 0 评论 -
Gorm之模型定义
模型是标准的 struct,由 Go 的基本数据类型、实现了 Scanner 和 Valuer 接口的自定义类型及其指针或别名组成例如:约定GORM 倾向于约定,而不是配置。默认情况下,GORM 使用 作为主键,使用结构体名的 作为表名,字段名的 作为列名,并使用 、 字段追踪创建、更新时间遵循 GORM 已有的约定,可以减少您的配置和代码量。如果约定不符合您的需求,GORM 允许您自定义配置它们GORM 定义一个 结构体,其包括字段 、、、您可以将它嵌入到您的结构体中,以包含这几个字段,详情原创 2022-06-18 15:03:02 · 447 阅读 · 0 评论 -
Gorm之gorm.io/driver/mysql源码
Gorm之gorm.io/driver/mysql源码原创 2022-06-18 14:32:02 · 214 阅读 · 0 评论 -
Gorm之 gorm.io/driver/sqlite源码
Gorm之 gorm.io/driver/sqlite源码原创 2022-06-18 14:31:10 · 401 阅读 · 0 评论 -
Gorm之下载安装gorm.io/driver/sqlite依赖
在windows下无GCC编译器导致的,下载一个MinGW-w64即可原创 2022-06-18 14:30:00 · 279 阅读 · 0 评论