beego之操作model


beego之操作model

1.環境配置

  1>.下載安裝orm

    go get github.com/astaxie/beego/orm

    默認安裝路徑在gopath路徑下,可使用go env查看路徑

  2>.導入mysql包

    

2..在controller目錄下創建一個TestMode.go控制器

  1>.代碼

package controllers

import (
    "fmt"

    "github.com/astaxie/beego"
    "github.com/astaxie/beego/orm"
    _ "github.com/go-sql-driver/mysql"
)

//model的表示UserTable,操作數據庫中的表名叫user_table
type UserTable struct {
    Id       int64
    Username string
    Password string
}
type TestModelController struct {
    beego.Controller
}

func (c *TestModelController) Get() {
    //注冊數據庫
    //參數一:默認default
    //參數二:數據庫類型MySQL
    //參數三:數據庫用戶名:密碼@tcp(ip:port)/數據庫名?charset=utf8為字符編碼格式
    //參數四:超時時間
    orm.RegisterDataBase("default", "mysql", "test:test@tcp(192.168.5.200:3306)/testdb?charset=utf8", 30)
    //注冊UserTabele表
    orm.RegisterModel(new(UserTable))

    //申明對象
    o := orm.NewOrm()
    //設置數據
    //user := UserTable{Username: "xiaoming", Password: "123456"}
    //插入數據
    //id, err := o.Insert(&user)

    //讀取數據
    u := UserTable{Id: 1}
    err := o.Read(&u)
    if err == orm.ErrNoRows {
        fmt.Println("查詢不到")
    } else if err == orm.ErrMissPK {
        fmt.Println("找不到主鍵")
    } else {
        fmt.Println(u.Id, u.Username)
    }
    //修改數據
    u.Username = "Xiao Hua"
    u.Password = "654321"
    o.Update(&u)

    //web上顯示內容
    //c.Ctx.WriteString(fmt.Sprintf("id: %d err: %v", id, err))

    //自帶原生讀取函數
    var maps []orm.Params
    o.Raw("select *from user_table").Values(&maps)

    for _, v := range maps {

        c.Ctx.WriteString(fmt.Sprintf("user_table: %v\n", v))
    }

}

  2>.數據操作方法以及go中結構體和數據庫中的表格對應關系

3.在routers目錄下添加對應路由

4.mysql設置

  1>.進入數據庫 mysql -u 用戶名 -p

    下面是以root用戶登錄的

  2>.我這里首先建立新的用戶testdb,對應代碼中對應

    可以使用 下面命令,查看用戶列表

      select user, host from mysql.user;

    創建新用戶,用戶名test 密碼test

    use mysql   

    create user test identified by 'test' ;

    flush privileges    //刷新

    select user, host from mysql.user;   //查看用戶

  3>.創建數據庫

    create database testdb; 和代碼中對應

    flush privileges;    //刷新

    show databases;

  4>.設置權限  為user用戶賦予操作數據庫testdb的所有權限

    grant all privileges on testdb.* to test identified by 'test';

 

  5>.退出,

    quit;

  6>.使用test用戶登錄

    mysql -u test -p

    查看數據庫

      show databases;

    查看表格

      show tables; 

  7>.創建表格user_table,三個參數id、username、password  

    create table user_table( id int(11) auto_increment, username varchar(32),password varchar(128),primary key(id));

    參考鏈接:https://www.yiibai.com/mysql/mysql_create_tables.html

語法:

 

   8.查看表格

    desc user_table;

5.運行程序查看效果

  

  瀏覽器效果,表明插入成功

  查看數據庫表格中數據

    select *from user_table;

 

注:參考文件

 https://beego.me/docs/mvc/model/orm.md


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM