这节请了GORM的作者大佬来讲课,体验拉满。
1、ORM:
对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。ORM框架是连接数据库的桥梁,只要提供了持久化类与表的映射关系,ORM框架在运行时就能参照映射文件的信息,把对象持久化到数据库中。
ORM框架:为了解决面型对象与关系数据库存在的互不匹配的现象的框架。
2、GORM:
同理GOLANG语言下的ORM框架,就是GORM。
GORM 指南 | GORM - The fantastic ORM library for Golang, aims to be developer friendly.
简单来说,由于不同时间&技术变更(用了不同的数据库或不同版本,导致相关数据库语句不同),业务变迁等(课中举了有些海外业务,当地要求先将数据存留在当地,再连接跨国数据库)等,ORM框架通过初始化连接DB&config,自定义builder,扩展子句,构建插件系统,让我们不需要改业务代码而实现上述功能。
3、连接池(Connection Pool)技术:
核心思想是:连接复用,通过建立一个数据库连接池以及一套连接使用、分配、管理策略,使得该连接池中的连接可以得到高效、安全的复用,避免了数据库连接频繁建立、关闭的开销。另外,由于对JDBC中的原始连接进行了封装,从而方便了数据库应用对于连接的使用(特别是对于事务处理),提高了开发效率,也正是因为这个封装层的存在,隔离了应用的本身的处理逻辑和具体数据库访问逻辑,使应用本身的复用成为可能。连接池主要由三部分组成:连接池的建立、连接池中连接的使用管理、连接池的关闭。
4、ConnPool:
GORM的ConnPool在这个思想上,实现了如满足多用户,多数据库,读写分离,加密等需求。 GORM--> | DBConn--> ConPool--> 数据库
5、Dialector:
Dialect | goqu (doug-martin.github.io)
Dialects用goqu包实现不同数据库的SQL语句构造。