デベロッパーフレンドリーを目指した、素晴らしいGolang用ORMライブラリ。
概要
- (ほぼ)フル機能を備えたORM
- アソシエーション(Has One, Has Many, Belongs To, Many To Many, Polymorphism)
- フック(Before/After Create/Save/Update/Delete/Find)
- プリローディング(eager loading)
- トランザクション
- 複合主キー
- SQLビルダー
- オートマイグレーション
- ロガー
- 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) db.First(&product, "code = ?", "L1212")
db.Model(&product).Update("Price", 2000)
db.Delete(&product) }
|