后端-设计模式Database/SQL与GORM实践|青训营笔记

101 阅读1分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的第3篇笔记

青训营

01.理解database/sql

database/sql目的是提供统一的接口去操作不同的数据库。

1.1 基本用法 - Quick Start

在这里插入图片描述 本段代码没有检查rows.Close()是否会出错 需要加 err = rows.Close()

1.2 设计原理

在这里插入图片描述 需要import不同数据库的driver,容易忘记。

02.GORM基础使用

2.1 背景知识

“设计简单、功能强大、自由扩展的全功能ORM”

2.2 基本用法

CRUD crud是指在做计算处理时的增加(Create)、检索(Retrieve)、更新(Update)和删除(Delete)几个单词的首字母简写。

2.3 模型定义

在这里插入图片描述 如右边的图所示,模型之间可以嵌套。

约定优于配置 在这里插入图片描述

2.4 关联介绍

在这里插入图片描述

2.4 关联操作-CRUD

在这里插入图片描述

03. GORM设计原理

在这里插入图片描述

3.1 SQL是怎么生成的

在这里插入图片描述 GORM为什么这么做,主要有以下几个原因: 在这里插入图片描述 ①主要是因为不同的数据库甚至不同版本的数据库支持的SQL不同,GORM这么处理之后就可以很方便的解决这个问题。

②方便扩展子句

3.2 插件是怎么工作的

在这里插入图片描述 在这里插入图片描述 多租户 自动通过租户ID实现操作的过滤。 多数据库、读写分离

3.3 ConnPool 是什么

在这里插入图片描述

3.4 Dialector 是什么

在这里插入图片描述

04. GORM最佳实践

在这里插入图片描述