go使用gorm来操作MySQL

1. 安装GORM

go get github.com/go-gorm/gorm

2. 导入GORM

import (
    "github.com/go-gorm/gorm"
    _ "github.com/go-gorm/gorm/dialects/mysql"
)

3. 连接MySQL数据库

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. 使用数据库

db.Model(&User{}).Update("age", 18)

5. 关闭数据库连接

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)
    }
    //创表
    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数据库,并创建了一个用户表,然后向该表中插入一条记录,并打印出该记录的ID、姓名和年龄。最后关闭了数据库连接。

你可能感兴趣的:(go使用gorm来操作MySQL)