Gin-使用GORM操作mysql 数据库

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

1、使用GORM操作mysql 数据库

1、GORM概述

GORM是Golang的一个orm 框架(采用元数据来描述对象与关系映射的细节,元数据一般采用XML格式,并且存放在专门的对象一映射文件中),功能齐全(具有关联、挂钩(hook)、支持预加载等),对开发者非常友好。

2、Gin 中使用 GORM

### 1、毫无疑问,安装 ``` go get -u gorm.io/gorm

go get -u gorm.io/driver/mysql ``` 如果使用了go mod 的管理,那就不需要了。 他自己会引

go import ( "fmt" "gorm.io/driver/mysql" "gorm.io/gorm" ) ### 2、使用GORM连接数据库

go func init() { //passWord为数据库密码 dsn := "root:passWord@tcp(192.168.0.6:3306)/gin?charset=utf8mb4&parseTime=True&loc=L ocal" DB, err = gorm.Open(mysql.Open(dsn), &gorm.Config{}) if err != nil { fmt.Println(err) } }

3、定义操作数据库的模型

#### 1、声明模型 模型是带有基本Go类型的普通结构,指针/别名,或者实现了Scanner和Valuer接口的自定义类型 ```go type User struct { ID uint Name string Email *string //指针 Age uint8 Birthday *time.Time //日期 MemberNumber sql.NullString ActivatedAt sql.NullTime CreatedAt time.Time

} 注意: 1、结构体的名称必须首字母大写 2、结构体中的字段名称首字母必须大写 3、默认情况表名是结构体名称的复数形式 ```

4、约定( Conventions)

GORM 更喜欢约定而不是配置,默认情况下,GORM 使用ID作为主键,将结构名称复数snake_cases作为表名,snake_case作为列名,并使用CreatedAt,UpdatedAt来跟踪创建/更新时间。

如果遵循 GORM 采用的约定,就会减少很多配置,不遵循的话就要自己配置

5、gorm.Model

GORM 定义了一个gorm.Model结构体,其中包括字段IDCreatedAtUpdatedAt,DeletedAt

go type Model struct { ID uint `gorm:"primaryKey"` CreatedAt time.Time UpdatedAt time.Time DeletedAt gorm.DeletedAt `gorm:"index"` } 注意:我们可以将其嵌入到您的结构中以包含这些字段 ### 嵌入式结构

go //使用嵌入式 type User struct { gorm.Model Name string } //相当于(不) type User struct { ID uint `gorm:"primaryKey"` CreatedAt time.Time UpdatedAt time.Time DeletedAt gorm.DeletedAt `gorm:"index"` Name string }

如果想了解的更加详细,可以去查看官方文档:https://gorm.io/docs/models.html#embedded_struct

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值