Go语言框架三件套 | 青训营笔记

115 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天

一、本堂课重点内容:

1. Gorm

2. KiteX

3. Hertz

二、详细知识点介绍:

1. Gorm

  • GORM目前支持MySQL、 SQLServer、 PostgresQL、 SQLite。

  • GORM基本使用

    • import
      • "gorm.io/driver/mysql"
      • "gorm.io/gorm"
    • 表结构及表名
      • 数据库(表名user)
        image.png
      • Go中
        image.png
      • 务必定义表名的方法,否则结构体的蛇形复数作为表名(users)
      • 参名首字母大写
    • 连接数据库 image.png
    • 插入数据
      image.png
    • 查询数据
      image.png
    • 更新数据
      image.png
    • 删除数据
      image.png
  • Gorm事务

    • Gorm提供了Begin、Commit、Rollback方法用于使用事务。 image.png
    • Gorm提供了Tansaction方法用于自动提交事务,避免用户漏写Commit、 Rollbcak。
  • Gorm Hock

    • GORM在提供了CURD的Hook能力。Hook是在创建、查询、更新、删除等操作之前、 之后自动调用的函数如果任何Hook返回错误,GORM将停正后续的操作并回滚事务。 image.png
  • Gorm 性能提高

    • 在Config里修改配置可以提高一定性能。 image.png
  • Gorm 生态

2. KiteX

  • 待补充
  • Kitex生态
    • Kitex拥有非常丰富的扩展生态,以下列举一部分常用扩展。
      • XDS扩展 nttps://github.com/kitex-contrib/xds
      • opentelemetry扩展 nttps://github.com/kitex-contrib/obs-opentelemetry
      • ETCD服务注册与发现扩展 github.com/kitex-contr…
      • Nacos服务注册与发现扩展 nttps://github.com/kitex-contrib/registry-nacos
      • Zookeeper 服务注册与发现扩展 nttps://github.com/kitex-contrib/registry-zookeeper
      • polaris扩展 nttps://github.com/kitex-contrib/polaris
      • 丰富的示例代码与业务Demo github.com/cloudwego/k…

3. Hertz

三、实践练习例子:

四、课后个人总结:

  • 了解Gorm/Kitex/Hertz是什么
  • 熟悉Gorm/Kitex/Hertz的基础用法
  • 通过实战案例分析将三个框架的使用串联了起来

五、引用参考:

‬⁤‬‌⁡⁤‬1.Go 框架三件套详解

2.Gorm

3.KiteX

4.Hertz