【Go开发】如何使用Go Fiber、Gorm ORM和PostgreSQL构建REST API
pgmr.cloud
22 April 2023
【Go语言数据库开发】使用 GORM 连接到数据库
apaas.dev
7 November 2022
GORM正式支持数据库MySQL、PostgreSQL、SQLite、SQL Server
【Go语言数据库开发】Go 中的 Gorm 高级查询
apaas.dev
7 November 2022
智能选择字段
GORM 允许使用 Select 选择特定字段,如果您经常在应用程序中使用它,也许您想定义一个较小的结构供 API 使用,它可以自动选择特定字段,例如:
type User struct { ID uint Name string Age int Gender string // hundreds of fields } type APIUser struct { ID uint Name string } // Select `id`, `name` automatically when querying db.Model(&User{}).Limit(10).Find(&APIUser{}) // SELECT `id`, `name` FROM `users` LIMIT 10 |
注意 QueryFields 模式将根据当前模型的所有字段名称进行选择
【Go语言数据库开发】Golang GORM 约定
apaas.dev
6 November 2022
ID 作为主键
GORM 默认使用名称为 ID 的字段作为表的主键。
type User struct { ID string // field named `ID` will be used as a primary field by default Name string } |
您可以使用标签primaryKey将其他字段设置为主键
【Go语言数据库开发】Golang ORM 教程
apaas.dev
5 November 2022
在本教程中,我们将了解如何使用 Go-ORM 或 GORM 以简单的方式与 sqlite3 数据库进行交互。
ORM 或对象关系管理器几乎充当我们开发人员和我们底层数据库技术之间的中介。 它们让我们基本上可以像往常一样使用对象,然后保存这些对象,而无需编写复杂的 SQL 语句。
在您不希望使用 SQL 但需要数据库的情况下,它们有效地降低了我们代码库的复杂性。
视频教程
https://youtu.be/VAGodyl84OY
安装
为了安装 jinzhu/gorm,您必须执行以下 go get 命令:
go get -u github.com/jinzhu/gorm
完成此操作后,您应该能够将 jinzhu/gorm 导入到任何基于 Go 的项目中。
一个简单的例子
例如,假设您想编写一个 go REST API,当某个 API 端点被命中时,它将新用户及其电子邮件保存到数据库中。
我们可以像这样在 go 结构中描述我们的用户: