乐闻世界logo
搜索文章和话题

什么是 GORM,它的核心特性有哪些?

3月6日 23:39

GORM(Go Object-Relational Mapping)是 Go 语言中最流行的 ORM 库之一,它提供了强大的数据库操作功能。

核心特性

  1. 全功能 ORM:支持关联、钩子、预加载、事务等功能
  2. 关联关系:支持 Has One、Has Many、Many To Many、Belongs To 等关联
  3. 钩子函数:支持 Before/After Create、Save、Update、Delete、Find 等钩子
  4. 自动迁移:支持自动创建表、添加外键、索引等
  5. 链式调用:提供流畅的 API 设计,支持链式操作
  6. 多数据库支持:MySQL、PostgreSQL、SQLite、SQL Server 等

基本使用示例

go
// 定义模型 type User struct { gorm.Model Name string Email string `gorm:"type:varchar(100);uniqueIndex"` Age int } // 连接数据库 db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) // 创建记录 db.Create(&User{Name: "John", Email: "john@example.com", Age: 30}) // 查询记录 var user User db.First(&user, 1) // 查询主键为1的记录 // 更新记录 db.Model(&user).Update("Age", 31) // 删除记录 db.Delete(&user)

常用方法

  • First(): 查询第一条记录
  • Find(): 查询多条记录
  • Where(): 添加查询条件
  • Create(): 创建记录
  • Update(): 更新记录
  • Delete(): 删除记录
  • Preload(): 预加载关联数据
  • Joins(): 执行 JOIN 查询

GORM 通过约定优于配置的设计理念,让开发者能够快速进行数据库操作,同时保持代码的简洁性和可维护性。

标签:Gorm