使用 GORM(Go 的 ORM 库)连接数据库,并实现增删改查操作,把实现过程整理成文章 | 青训营

63 阅读2分钟

GORM

介绍:

gorm是一个使用Go语言编写的ORM框架。它文档齐全,对开发者友好,支持主流数据库。

是 Go 语言中最受欢迎的 ORM 库之一,它提供了强大的功能和简洁的 API,让数据库操作变得更加简单和易维护。本文将详细介绍 GORM 的常见用法,包括数据库连接、模型定义、CRUD、事务管理等方面,帮助大家快速上手使用 GORM 进行 Web 后端开发。

特点:

1、简单易用:gorm提供了简洁而直观的API

2、支持多种数据库:gorm支持多种常见的数据库系统,包括MySQL、PostgreSQL、SQLite等。

3、自动迁移:gorm具有强大的自动迁移功能,可以根据定义的模型自动创建、修改数据库表结构。

4、事务支持:gorm支持事务操作,保证了数据库操作的原子性和一致性。在复杂的业务逻辑中,事务可以确保一系列操作要么全部成功,要么全部回滚,避免了数据不一致的问题。

5、强大的查询功能:在gorm中提供了丰富的查询功能,可以根据条件过滤数据、排序结果、限制返回的记录数等,作为开发者可以轻松地编写复杂的查询语句,满足客户各种业务需求。

安装:

go get -u github.com/jinzhu/gorm

连接到数据库

GORM支持多种类型的数据库,例如MySQL,SQLite,PostgreSQL等。

例: package main

import (
"gorm.io/driver/mysql"
"gorm.io/gorm"
)

func main() {
dsn := "user:password@tcp(127.0.0.1:3306)/dbnamecharset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})

定义模型

在GORM中,通过定义Go结构体来创建数据库表。

创建记录

使用Create函数可以在数据库中创建新的记录

例: db.Create(&Product{Code: "A30", Price: 50})

5. 读取记录

GORM提供了多种方法来查询数据库中的记录。例如:

1、获取第一条记录,按主键排序 var product Product db.First(&product, 1) // 查询id为1的product

2、获取最后一条记录 db.Last(&product)

3、获取所有记录 var products []Product db.Find(&products)

4、使用条件查询 db.Where("price = ?", 100).First(&product)

6. 更新记录

你可以使用Save或Updates函数来更新数据库中的记录.

7. 删除记录

使用Delete函数可以删除数据库中,即使用命令db.Delete