前言
这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天
今日学习内容
- Gorm
- Kitex
- Herz
正文
Gorm
Gorm 是一个已经迭代了 10+ 年的功能强大的 ORM 框架,在字节内部被广泛使用并且拥有非常丰富的开源扩展
- GORM 支持的数据库
GORM 官方支持的数据库类型有: MySQL, PostgreSQL, SQlite, SQL Server。 GORM 通过驱动来连接数据库,如果需要连接其它类型的数据库,可以复用/自行开发驱动。
import (
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
func main() {
// 参考 https://github.com/go-sql-driver/mysql#dsn-data-source-name 获取详情
dsn := "user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
}
注意: 想要正确的处理 time.Time ,您需要带上 parseTime 参数, (更多参数) 要支持完整的 UTF-8 编码,您需要将 charset=utf8 更改为 charset=utf8mb4 查看 此文章 获取详情。
- GROM 创建数据
- GORM 查询数据
- GORM 更新数据
- GORM 删除数据
- GORM 事务
- GORM HOOK
- GORM 性能提高
- GORM 扩展生态
Kitex
Kitex 是字节内部的 Golang 微服务 PRC 框架,具有高性能、强可扩展的主要特点,支持多协议并且拥有丰富的开源扩展。
Herz
Herz 是字节内部的 HTTP 框架,参考了其他开源框架的优势,结合字节跳动内部的需求,具有高易用性、高性能、高扩展性特点。