GORM 中文文档

https://jasperxu.com/Programming/Golang/GORM/

Golang写的,开发人员友好的ORM库。本文档是基于 GORM v1.x 版本的文档翻译的。

目前已迁移到上面的新地址。

概述

  • 全功能ORM(几乎)
  • 关联(包含一个,包含多个,属于,多对多,多种包含)
  • Callbacks(创建/保存/更新/删除/查找之前/之后)
  • 预加载(急加载)
  • 事务
  • 复合主键
  • SQL Builder
  • 自动迁移
  • 日志
  • 可扩展,编写基于GORM回调的插件
  • 每个功能都有测试
  • 开发人员友好

安装

  1. go get -u github.com/jinzhu/gorm

升级到V1.0

快速开始

  1. package main
  2. import (
  3. "github.com/jinzhu/gorm"
  4. _ "github.com/jinzhu/gorm/dialects/sqlite"
  5. )
  6. type Product struct {
  7. gorm.Model
  8. Code string
  9. Price uint
  10. }
  11. func main() {
  12. db, err := gorm.Open("sqlite3", "test.db")
  13. if err != nil {
  14. panic("连接数据库失败")
  15. }
  16. defer db.Close()
  17. // 自动迁移模式
  18. db.AutoMigrate(&Product{})
  19. // 创建
  20. db.Create(&Product{Code: "L1212", Price: 1000})
  21. // 读取
  22. var product Product
  23. db.First(&product, 1) // 查询id为1的product
  24. db.First(&product, "code = ?", "L1212") // 查询code为l1212的product
  25. // 更新 - 更新product的price为2000
  26. db.Model(&product).Update("Price", 2000)
  27. // 删除 - 删除product
  28. db.Delete(&product)
  29. }