这是我参与「第五届青训营 」伴学笔记创作活动的第7天
1.Go三件套简介
- Gorm
Gorm是一个已经迭代了10年+的功能强大的ORM框架,在字节内部被广泛使用并且拥有非常丰富的开源扩展。
- Kitex
Kitex是字节内部的Golang微服务RPC框架,具有高性能、强可扩展的主要特点,支持多协议并且拥有丰富的开源扩展。
- Hertz
Hertz是字节内部的HTTP框架,参考了其他开源框架的优势,结合字节跳动内部的需求,具有高易用性、高性能、高扩展性特点。
2.Go三件套的使用
2.1Gorm的基础使用
2.1.1定义gorm.Model结构体
gorm.Model结构体对应的是数据库中的一张表,结构体中的字段对应数据库中的字段。下图是定义了一个User结构体
2.1.2为Model定义表名
2.1.3连接数据库
2.1.4CRUD
- Create-增加数据
处理冲突,下图中为遇到冲突后不处理冲突的代码
默认值,使用default来设置默认值
- Read-查询数据
28行代码是简单写了个查询条件,找到Name = “小李”的数据
- Update-更新数据
更新数据可以使用Update和Updates方法,Update是更新单个字段;Updates可更新多个字段,其中Updates支持结构体和map,区别是结构体只能更新非零值字段,如果想要更新零值字段需要使用map
- Delete-删除数据
2.1.4gorm约定
默认情况下,GORM 使用ID作为主键,使用结构体名的蛇形复数作为表名,字段名的蛇形作为列名,并使用CreatedAt、UpdatedAt字段作为创建、更新时间