Go 语言项目开发实战
孔令飞
腾讯云资深工程师,前Red Hat、联想云工程师
新⼈⾸单¥69.9
3467 人已学习
课程目录
已更新 33 讲 / 共 54 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 从 0 开始搭建一个企业级 Go 应用
免费
课前必学 (3讲)
01 | IAM系统概述:我们要实现什么样的 Go 项目?
02 | 环境准备:如何安装和配置一个基本的 Go 开发环境?
03 | 项目部署:如何快速部署 IAM 系统?
实战第 1 站:规范设计 (8讲)
04 | 规范设计(上):项目开发杂乱无章,如何规范?
05 | 规范设计(下):commit 信息风格迥异、难以阅读,如何规范?
06 | 目录结构设计:如何组织一个可维护、可扩展的代码目录?
07 | 工作流设计:如何设计合理的多人开发模式?
08 | 研发流程设计(上):如何设计 Go 项目的开发流程?
09 | 研发流程设计(下):如何管理应用的生命周期?
10 | 设计方法:怎么写出优雅的 Go 项目?
11 | 设计模式:Go常用设计模式概述
实战第2站:基础功能设计或开发 (12讲)
12 | API 风格(上):如何设计RESTful API?
13 | API 风格(下):RPC API介绍
14 | 项目管理:如何编写高质量的Makefile?
15 | 研发流程实战:IAM项目是如何进行研发流程管理的?
16 | 代码检查:如何进行静态代码检查?
17 | API 文档:如何生成 Swagger API 文档 ?
18 | 错误处理(上):如何设计一套科学的错误码?
19 | 错误处理(下):如何设计错误包?
20 | 日志处理(上):如何设计日志包并记录日志?
21 | 日志处理(下):手把手教你从 0 编写一个日志包
22 | 应用构建三剑客:Pflag、Viper、Cobra 核心功能介绍
23 | 应用构建实战:如何构建一个优秀的企业应用框架?
实战第3站:服务开发 (7讲)
24 | Web 服务:Web 服务核心功能有哪些,如何实现?
25 | 认证机制:应用程序如何进行访问认证?
26 | IAM项目是如何设计和实现访问认证功能的?
27 | 权限模型:5大权限模型是如何进行资源授权的?
28 | 控制流(上):通过iam-apiserver设计,看Web服务的构建
29|控制流(下):iam-apiserver服务核心功能实现讲解
30 | ORM:CURD 神器 GORM 包介绍及实战
特别放送 (2讲)
特别放送 | 给你一份清晰、可直接套用的Go编码规范
特别放送 | 给你一份Go项目中最常用的Makefile核心语法
Go 语言项目开发实战
15
15
1.0x
00:00/00:00
登录|注册

30 | ORM:CURD 神器 GORM 包介绍及实战

你好,我是孔令飞。
在用 Go 开发项目时,我们免不了要和数据库打交道。每种语言都有优秀的 ORM 可供选择,在 Go 中也不例外,比如gormxormgorose等。目前,GitHub 上 star 数最多的是 GORM,它也是当前 Go 项目中使用最多的 ORM。
IAM 项目也使用了 GORM。这一讲,我就来详细讲解下 GORM 的基础知识,并介绍 iam-apiserver 是如何使用 GORM,对数据进行 CURD 操作的。

GORM 基础知识介绍

GORM 是 Go 语言的 ORM 包,功能强大,调用方便。像腾讯、华为、阿里这样的大厂,都在使用 GORM 来构建企业级的应用。GORM 有很多特性,开发中常用的核心特性如下:
功能全。使用 ORM 操作数据库的接口,GORM 都有,可以满足我们开发中对数据库调用的各类需求。
支持钩子方法。这些钩子方法可以应用在 Create、Save、Update、Delete、Find 方法中。
开发者友好,调用方便。
支持 Auto Migration。
支持关联查询。
支持多种关系数据库,例如 MySQL、Postgres、SQLite、SQLServer 等。
GORM 有两个版本,V1V2。遵循用新不用旧的原则,IAM 项目使用了最新的 V2 版本。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
该试读文章来自付费专栏《Go 语言项目开发实战》,如需阅读全部文章,
请订阅文章所属专栏新⼈⾸单¥69.9
立即订阅
登录 后留言

精选留言(2)

  • 那时刻
    请问老师,在链接数据库New方法里,是否要调用下sqlDB.ping来确定链接是否成功呢?
    2021-08-03
  • pedro
    GORM 支持 AutoMigrate 功能,思考下,你的生产环境是否可以使用 AutoMigrate 功能,为什么?

    肯定不能啊,生产环境严格的要死,提交的SQL都要一圈的审核,怎么能直接偏移,爆炸了年奖全都没了
    2021-08-03
    1
收起评论
2
返回
顶部