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