go orm GORM

官网:https://gorm.io/

docs:https://gorm.io/docs/

博客:https://www.tizi365.com/archives/6.html

Go 复制代码
import (
    "fmt"

    "gorm.io/driver/mysql"
    "gorm.io/gorm"
)

type Product struct {
    gorm.Model
    Code  string
    Price uint
}

func main() {
    fmt.Println("main ...")

    dsn := "act:Q***wsx@tcp(127.0.0.1:3306)/tbname1?charset=utf8mb4&parseTime=True&loc=Local"
    var db, err = gorm.Open(mysql.Open(dsn), &gorm.Config{})
    if err != nil {
       panic("failed to connect database")
    }

    // Migrate the schema
    db.AutoMigrate(&Product{})

    // Create
    db.Create(&Product{Code: "D4211", Price: 100})

    // Read
    var product Product
    db.First(&product, 1)                 // find product with integer primary key
    db.First(&product, "code = ?", "D42") // find product with code D42
    fmt.Println(product)

    // Update - update product's price to 200
    db.Model(&product).Update("Price", 200)
    // Update - update multiple fields
    db.Model(&product).Updates(Product{Price: 200, Code: "F42"}) // non-zero fields
    db.Model(&product).Updates(map[string]interface{}{"Price": 200, "Code": "F42"})

    // Delete - delete product
    db.Delete(&product, 1)

    fmt.Println("success ...")
}
相关推荐
李少兄几秒前
解决Spring Boot多模块自动配置失效问题
java·spring boot·后端
刘婉晴10 分钟前
【环境配置】Mac电脑安装运行R语言教程 2025年
开发语言·macos·r语言
Despacito0o10 分钟前
C++核心编程:类与对象全面解析
开发语言·c++
Tiger Z11 分钟前
R 语言科研绘图第 43 期 --- 桑基图-冲击
开发语言·r语言·贴图
Piper蛋窝1 小时前
Go 1.19 相比 Go 1.18 有哪些值得注意的改动?
后端
全栈师1 小时前
C#中分组循环的做法
开发语言·c#
码农BookSea1 小时前
不用Mockito写单元测试?你可能在浪费一半时间
后端·单元测试
FAREWELL000751 小时前
C#进阶学习(十六)C#中的迭代器
开发语言·学习·c#·迭代器模式·迭代器
吗喽对你问好1 小时前
Java位运算符大全
java·开发语言·位运算
chenglin0161 小时前
.NET中,const和readonly区别
开发语言·.net