由於篇幅問題,本文只是快速開始部分,下面是完整地址。
中文文檔地址:http://gorm.book.jasperxu.com/
中文文檔項目地址:https://github.com/jasperxu/gorm-cn-doc
Golang寫的,開發人員友好的ORM庫。
概述
- 全功能ORM(幾乎)
- 關聯(包含一個,包含多個,屬於,多對多,多種包含)
- Callbacks(創建/保存/更新/刪除/查找之前/之后)
- 預加載(急加載)
- 事務
- 復合主鍵
- SQL Builder
- 自動遷移
- 日志
- 可擴展,編寫基於GORM回調的插件
- 每個功能都有測試
- 開發人員友好
安裝
go get -u github.com/jinzhu/gorm
快速開始
package main import ( "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/sqlite" ) type Product struct { gorm.Model Code string Price uint } func main() { db, err := gorm.Open("sqlite3", "test.db") if err != nil { panic("連接數據庫失敗") } defer db.Close() // 自動遷移模式 db.AutoMigrate(&Product{}) // 創建 db.Create(&Product{Code: "L1212", Price: 1000}) // 讀取 var product Product db.First(&product, 1) // 查詢id為1的product db.First(&product, "code = ?", "L1212") // 查詢code為l1212的product // 更新 - 更新product的price為2000 db.Model(&product).Update("Price", 2000) // 刪除 - 刪除product db.Delete(&product) }