go使用gorm來操作MySQL

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ù)庫連接。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容