这是我参与[第五届青训营]伴学笔记创作活动的第5天。这节课的主题是Go框架三件套(Web、RPC、ORM)详解。
-
本节课重点内容
本节课主要分为四个方面进行介绍:第一部分是课程目标及三件套(Gorm、Kitex、Hertz)的介绍;第二部分是三件套的使用,主要介绍了Gorm、Kitex、Hertz的基本用法及其常用API的介绍;第三部分是实战案例介绍,主要介绍了实战项目、实战项目的功能及其关键代码的讲解;第四部分对课程的所有内容进行了总结回顾。
-
详细知识点介绍
-
三件套介绍
Gorm是一个功能强大的ORM框架;Kitex是字节内部Golang微服务RPC框架,具有高性能、强可扩展的主要特点,支持多协议并且拥有丰富的开源扩展;Hertz是字节内部的HTTP框架,参考了其他开源框架的优势,具有高易用性、高性能和高扩展性特点。
-
Gorm的基本使用
Gorm删除数据:GORM提供了gorm.DeletedAt用于帮助用户实现软删,拥有软删能力的Model调用Delete时,记录不会被从数据库中真正删除。但GORM会将DeletedAt置为当前时间,并且你不能再通过正常的查询方法找到该记录。使用Unscoped可以查询到被软删的数据。
Gorm事务:Gorm提供了Begin、Commit、Rollback方法用于使用事务。
Gorm性能提高
-
Kitex的基本使用
-
Hertz的基本使用
Hertz提供了路由组(Group)的能力,用于支持路由分组的功能;
Hertz提供了Bind、Validate、BindAndValidate函数用于进行参数绑定和校验;