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 ...")
}
相关推荐
p***h6434 分钟前
JavaScript在Node.js中的异步编程
开发语言·javascript·node.js
散峰而望7 分钟前
C++数组(二)(算法竞赛)
开发语言·c++·算法·github
Porunarufu8 分钟前
Java·关于List
java·开发语言
e***716720 分钟前
Spring Boot项目接收前端参数的11种方式
前端·spring boot·后端
程序猿小蒜22 分钟前
基于springboot的的学生干部管理系统开发与设计
java·前端·spring boot·后端·spring
子不语18038 分钟前
Python——函数
开发语言·python
q***56381 小时前
Spring容器初始化扩展点:ApplicationContextInitializer
java·后端·spring
ndjnddjxn1 小时前
Rust学习
开发语言·学习·rust
月光技术杂谈1 小时前
实战:C驱动框架嵌入Rust模块的互操作机制与完整流程
c语言·开发语言·rust·ffi·跨语言·bindgen·互操作
t198751281 小时前
基于MATLAB的指纹识别系统完整实现
开发语言·matlab