gorm

发布时间 2023-11-10 14:57:17作者: ChenLiuyu

Go Gorm

一。 指南

The fantastic ORM library for Golang aims to be developer friendly.

特性

  1. 全功能 ORM
  2. 关联 (Has One,Has Many,Belongs To,Many To Many,多态,单表继承)
  3. Create,Save,Update,Delete,Find 中钩子方法
  4. 支持 Preload、Joins 的预加载
  5. 事务,嵌套事务,Save Point,Rollback To Saved Point
  6. Context、预编译模式、DryRun 模式
  7. 批量插入,FindInBatches,Find/Create with Map,使用 SQL 表达式、Context Valuer 进行 CRUD
  8. SQL 构建器,Upsert,数据库锁,Optimizer/Index/Comment Hint,命名参数,子查询
  9. 复合主键,索引,约束
  10. Auto Migration
  11. 自定义 Logger
  12. 灵活的可扩展插件 API:Database Resolver(多数据库,读写分离)、Prometheus…
  13. 每个特性都经过了测试的重重考验
  14. 开发者友好

安装

go get -u gorm.io/gorm
go get -u gorm.io/driver/mysql
import (
  "gorm.io/driver/mysql"
  "gorm.io/gorm"
)

func main() {
  // 参考 https://github.com/go-sql-driver/mysql#dsn-data-source-name 获取详情
  dsn := "user:pass@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
  db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
}