gorm demo

Posted wangjq19920210

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gorm demo相关的知识,希望对你有一定的参考价值。

package main

import (
    "fmt"
    "github.com/jinzhu/gorm"
    _ "github.com/jinzhu/gorm/dialects/sqlite"
)

type Product struct 
    Id  int 
    Num int 


func main() 
    db, err := gorm.Open("sqlite3", "/root/test.db")
    if err != nil 
        fmt.Println("连接数据库失败")
       
    defer db.Close()

    // 自动迁移模式
    db.AutoMigrate(&Product)

    // 创建
    test := ProductId: 100, Num: 200
    db.Create(&test)
    fmt.Println("test.id is ", test.Id)

    // 读取
    var product Product

    // 询id为1的product
    db.First(&product, 100)
    fmt.Println("product.id is ", product.Id)

    // 询code为l1212的product
    db.First(&product, "Num = ?", 200)
    fmt.Println("product.num is ", product.Num)

    // 更新 - 更新product的price为2000
    db.Model(&product).Update("Num", 2000)

    var tests []Product
    db.Find(&tests)
    fmt.Println("Find tests: ", tests)

    for index, line := range tests 
        fmt.Println("index", index, " line ", line)
    

    // 删除 - 删除product
    db.Delete(&product)

运行结果如下:

[root@wangjq test]# go run gorm_v1.go 
test.id is  100
product.id is  100
product.num is  200
Find tests:  [100 2000]
index 0  line  100 2000

 

以上是关于gorm demo的主要内容,如果未能解决你的问题,请参考以下文章

Gorm 操作 MySQL

Grails + GORM:GORM 中默认的 equals() 实现是啥?

golang gorm 操作mysql

GORM基本使用

gorm的Find

GORM 无法实现插件中的域类是 GORM 类