gorm 簡單使用

yourself發表於2018-05-23

建立main.go

下載擴充套件

 go get github.com/go-sql-driver/mysql 
 go get github.com/jinzhu/gorm

程式碼

package main

import (
    _ "github.com/go-sql-driver/mysql"//載入mysql
    "github.com/jinzhu/gorm"//gorm 擴充套件包
    "fmt"
)
//注意如果 定義成小寫username 引用時 無法呼叫
type User struct {
    ID       int64  // 列名為 `id`
    Username string // 列名為 `username`
    Password string // 列名為 `password`
}

//設定表名
func (User) TableName() string {
    return "users"
}

func main() {
    db, err := gorm.Open("mysql", "資料庫使用者名稱:資料庫密碼@tcp(ip地址:埠號)/資料庫名?     charset=utf8&parseTime=True&loc=Local&timeout=10ms")
     defer db.Close()
    if err != nil {
        fmt.Printf("mysql connect error %v", err)
    }

    //執行遷移檔案 生成資料表
    db.CreateTable(&User{})

    //新增資料
    user := User{Username: "root", Password: "root"}
    result := db.Create(&user)

    if result.Error != nil {
        fmt.Printf("insert row err %v", result.Error)
        return
    }

    fmt.Println(user.ID) //返回id

    //查詢單條資料
    getUser := User{}

    //SELECT id, first FROM users WHERE id = 1 LIMIT 1;
    db.Select([]string{"id", "username"}).First(&getUser, 1)
    fmt.Println(getUser) //列印查詢資料

    //修改資料
    user.Username = "update username"
    user.Password = "update password"
    db.Save(&user)

    //查詢列表資料
    users := []User{}
    db.Find(&users)
    fmt.Println(&users)//獲取所有資料

  //刪除資料
    db.Delete(&user)
}

執行

go run main.go
本作品採用《CC 協議》,轉載必須註明作者和本文連結