gorm - install Quick Start
安装:
<span class="line">go get -u gorm.io/gorm</span>
<span class="line">go get -u gorm.io/driver/sqlite</span>
Quick Start
使用postgres:
go get gorm.io/driver/postgres

连接数据库,创建新表,创建数据crud:
package main
import (<br />
"gorm.io/gorm"<br />
// "gorm.io/driver/sqlite"<br />
//引入sql<br />
"gorm.io/driver/postgres"<br />
//引入 postgres<br />
)
type Product struct {<br />
gorm.Model<br />
Code string<br />
Price uint<br />
}
type Apple struct {<br />
Id int `gorm:"primary_key"`<br />
Name string `gorm:"type:varchar(50);not null;index:ip_idx"`<br />
Color int `gorm:"not null"`<br />
Addr string `gorm:"type:varchar(50);not null;"`<br />
}
func main() {<br />
dsn := "host=localhost user=admin password=88888888 dbname=blogs port=5432 sslmode=disable TimeZone=Asia/Shanghai"<br />
db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{})<br />
if err != nil {<br />
panic("failed to connect database")<br />
}
// Migrate the schema<br />
db.AutoMigrate(&Product{})
// Create<br />
db.Create(&Product{Code: "D42", Price: 100})
// Read<br />
var product Product<br />
db.First(&product, 1) // find product with integer primary key<br />
db.First(&product, "code = ?", "D42") // find product with code D42
// Update - update product's price to 200<br />
db.Model(&product).Update("Price", 200)<br />
// Update - update multiple fields<br />
db.Model(&product).Updates(Product{Price: 200, Code: "F42"}) // non-zero fields<br />
db.Model(&product).Updates(map[string]interface{}{"Price": 200, "Code": "F42"})
// Delete - delete product<br />
db.Delete(&product, 1)<br />
}可以看到数据库已经创建了新表,并更新了数据。
