美文网首页Golang成长笔记
gorm简单实用指南

gorm简单实用指南

作者: 左洁 | 来源:发表于2020-08-21 19:16 被阅读0次

    1. 环境

    go version go1.13.6 darwin/amd64

    github.com/jinzhu/gorm v1.9.16

    gorm是golang orm框架,如果有java开发语言经验,可以和hibernate比较学习

    gorm官网链接

    2 打开数据连接

    import (
        "fmt"
        "time"
    
        _ "github.com/go-sql-driver/mysql"
        "github.com/jinzhu/gorm"
    )
    type Test struct {
        ID        int    `gorm:"primary_key"`
        Title     string `gorm:"type:varchar(128) ; not null"`
        CreatedAt time.Time
    }
    
    var db *gorm.DB
    func InitMySql() (err error) {
        fmt.Println("init mysql....")
    
        if db == nil {
            db, err = gorm.Open("mysql", "root:123456@/gorm_demo?charset=utf8&parseTime=True&loc=Local")
            if err != nil {
                fmt.Println("init mysql.... err:", err)
    
                return err
            }
    
    
        }
        return
    }
    

    3.创建表

    table是创建表明,如果不加table方法表明称默认是tests
    db.Table("test").CreateTable(&Test{})
    

    4.保存数据

    func SaveTest(test *Test) error {
    
        if err := db.Table("test").Create(test).Error; err != nil {
            fmt.Println("save test  error", err)
            return err
        }
        return nil
    }
    
    

    5.查询数据

    func SelectTest(test *Test) (testList []Test, err error) {
    
        if err := db.Table("test").Find(&testList).Error; err != nil {
            fmt.Println("select test error", err)
            return nil, err
        }
        return testList, nil
    }
    
    

    6.删除

    func DeleteTest(test *Test) error {
    
        if err := db.Table("test").Delete(Test{}).Error; err != nil {
            fmt.Println("delete test error", err)
            return err
        }
        return nil
    }
    

    相关文章

      网友评论

        本文标题:gorm简单实用指南

        本文链接:https://www.haomeiwen.com/subject/cpjpjktx.html