gorm再入门系列01

说明:天天都是CRUD,就这连个事务都很少用到,gorm其实吧,就算有用到时候,去找,都很可能忽略到一些非常方便的地方,所以,我就打算对gorm官方文档再写一遍注释,当然了对于特别浅显的地方我会一笔带过,对于我写项目中遇到过的,但是gorm中有但是可能没写的,或者不好让人发现的我都会用简单的语言给写出来,让大家意识到,哇,这个东西挺好用的,每天约花费一个小时写注释解释,直到写完
官方文档:https://gorm.io/zh_CN/docs/create.html

入门指南

概述

这个部分讲了-安装,其实就是go get

快速入门中写了一个例子,连接了数据库,自动迁移表,就是根据结构体创建一个表

接着就是简单的增删改查

声明模型
模型定义

就是结构体

约定

默认ID为主键

默认结构体名的蛇形复数作为表明

字段名的蛇形为列名

当然了,当你不满意ID作为默认主键时候,你可以gorm:"primaryKey"自己指定

高级选项

字段级权限控制:这个感觉鸡肋,不说了

时间戳追踪:当创建更新时候,可以指定纳秒、毫秒、秒级追踪,

time.Time类型和int类型指定时候,看起来并没有多大区别

嵌入结构体

没啥好说,就一个:embeddedPrefix 来为 db 中的字段名添加前缀

type Author struct {
    Name  string
    Email string
}

Author  Author `gorm:"embedded;embeddedPrefix:author_"`
等效
		AuthorName  string
    AuthorEmail string
字段标签

这个用的挺频繁的,就是gorm:"tag"

tag,有很多,这里简单提几个

column 指定列名

primaryKey

unique

default

更多的看gorm文档:https://gorm.io/zh_CN/docs/models.html#%E9%AB%98%E7%BA%A7%E9%80%89%E9%A1%B9

连接到数据库

GORM 官方支持的数据库类型有: MySQL, PostgreSQL, SQlite, SQL Server

MySQL

  dsn := "用户名(一般写root):数据库密码@tcp(127.0.0.1:3306)/数据库名?charset=utf8mb4&parseTime=True&loc=Local"
  db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})

parseTime用来处理time.Time

还有gorm连接时候的高级配置,文档写的很全,就不写了

还有PostgreSQL, SQlite, SQL Server的连接,因为很少用到就不赘述了,看了MySQL之后就都差不多

很特别的一点:如果其他数据库兼容mysql等它支持的方言,那么可以直接使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不之道

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

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

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

打赏作者

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

抵扣说明:

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

余额充值