对象关系映射器 (ORM) 是提供使用首选编程语言的数据类型和语法与 SQL 数据库交互的功能的工具。您可以使用 ORM 对数据库进行操作,而无需编写纯 SQL,因为典型的 ORM 提供了数据库抽象。
使用 ORM 代替使用内置数据类型的数据库有很多好处。例如,您可以将任何受支持的数据库与 ORM 一起使用,而无需对现有代码进行大量更改。此外,ORM 提高了开发人员的生产力并降低了开发成本。
Go 不是纯面向对象的语言,但使用 ORM 的体验类似于纯面向对象的语言,如 Python 和 C++。
Go 生态中有很多 ORM 包;大多数使用结构和接口的模式取决于他们的方法。
本文概述并比较了 Go 生态系统中的七个 ORM 包,为您的下一个项目提供有关最佳 ORM 的见解。
向前跳:
-
高尔姆
-
SQLC:SQL 编译器
-
SQLX
-
比戈
-
GORP
-
火风暴
-
SQL锅炉
-
比较 GO ORM 包
1. 高尔姆
GORM(Go-ORM)包是Go生态系统中最流行的ORM包。GORM 是一个对开发人员友好、功能丰富的 ORM,它构建在database/sql包之上,拥有您在 ORM 中需要的许多功能。
GORM 提供模式自动迁移、日志记录、上下文、准备好的语句、关联、约束、高级数据库操作(如分片)等功能。
GORM 包采用代码优先的方法,并使用结构作为与数据库交互的模型。该包还提供了在数据库上构建原始 SQL 查询以进行不受支持的操作的功能。
超过 20 万开发人员使用 LogRocket 来创造更好的数字体验了解更多 →
要使用 GORM 包并与数据库交互,您需要在工作区中安装数据库驱动程序和 GORM 包。GORM 为流行的 SQL 数据库(MySQL、SQLite、MSSQL、PostgreSQL)提供了一套数据库驱动程序,您可以使用自定义数据库驱动程序与您的数据库进行交互。
在工作目录的终端中运行此命令以安装 GORM 包。
去 -u gorm.io/gorm
GORM 包