1. 安裝GORM
go get github.com/go-gorm/gorm
2. 導(dǎo)入GORM
import (
"github.com/go-gorm/gorm"
_ "github.com/go-gorm/gorm/dialects/mysql"
)
3. 連接MySQL數(shù)據(jù)庫
dsn := "user:password@tcp(127.0.0.1:3306)/db_name?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic(err)
}
4. 使用數(shù)據(jù)庫
db.Model(&User{}).Update("age", 18)
5. 關(guān)閉數(shù)據(jù)庫連接
db.Close()
下面是一個完整的示例
package main
import (
"fmt"
"github.com/go-gorm/gorm"
_ "github.com/go-gorm/gorm/dialects/mysql"
)
type User struct {
gorm.Model
Name string
Age int
}
func main() {
dsn := "user:password@tcp(127.0.0.1:3306)/db_name?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic(err)
}
//創(chuàng)表
err = db.AutoMigrate(&User{})
if err != nil {
panic(err)
}
//增加
user := User{Name: "John", Age: 20}
err = db.Create(&user).Error
if err != nil {
panic(err)
}
// 查詢
var users []User
err = db.Find(&users).Error
if err != nil {
panic(err)
}
fmt.Println(users)
// 刪除
err = db.Delete(&user).Error
if err != nil {
panic(err)
}
fmt.Println("User deleted")
// 修改
user.Age = 21
err = db.Model(&user).Update("Age", user.Age).Error
if err != nil {
panic(err)
}
fmt.Println(user.ID, user.Name, user.Age)
db.Close()
}
這個示例使用了GORM連接MySQL數(shù)據(jù)庫,并創(chuàng)建了一個用戶表,然后向該表中插入一條記錄,并打印出該記錄的ID、姓名和年齡。最后關(guān)閉了數(shù)據(jù)庫連接。