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;
注:參考文件