什麼是orm
在mvc裡面models層一般是資料庫讀寫邏輯的封裝,資料層的乙個對映,我們可以通過orm對映來自動生成models的腳手架.
beego的orm模組支援三種資料庫,其中就包括了mysql,這裡以mysql為例子來實現orm對映.
(1)資料庫庫部分
a1)連線資料庫
a2)建立資料庫imooc
a3)建立** user
需要說明的是,如果使用的是8.0的mysql,欄位的引號要去掉,5.0左右的版本需要加上.
說一下各個引數的含義:
not null 該欄位不能為空
auto_increment 插入的時候自動增加1
default 預設值,如果沒有指定特定值,那麼用這個值
primary key 指定主碼
engine=innodb 指定表的內省,相對於另一種myisam型別,
區別如下原來是myisam型別不支援事務處理等高階處理,而innodb型別支援。
myisam型別的表強調的是效能,其執行數度比innodb型別更快,但是不提供事務支援,而innodb提供事務支援已經外部鍵等高階資料庫功能。
另外,myisam型別的二進位制資料檔案可以在不同作業系統中遷移。也就是可以直接從windows系統拷貝到linux系統中使用。
以上解釋來自:
charset=utf8 字符集使用utf8
a4)插入幾條測試資料,現在已經具備了基本的資料庫功能
(2)beego部分
a1)進入工程目錄
a2)bee generate scaffold user -fields="id:int64,name:string,gender:int,age:int" -driver=mysql -conn="root:123@tcp(127.0.0.1:3306)/imooc"
b1)指令比較複雜,分開講一下,generate是自動生成的意思,scaffold是腳手架的意思
b2)user是表名,命令會生成對應的檔案,檔名稱就是user
b3)-fields代表生成的例項的資料結構
b4)-driver是所用資料庫引數
b5)-conn是連線引數"連線角色:密碼@tcp(網域名稱ip:監聽埠)/資料庫名稱"
a3)同意建立models,controller,view的**,均選擇yes
a4)最後會問需不需要建立資料庫的遷移和公升級,因為暫時用不到,選擇no,這個時候腳手架的功能就完成
(3)啟動goland,檢視測試一下生成的**
可以注意到生成controller的每個函式上面都有router註解,支援路由註解的controller不需要再去routers層註冊路由,只需要在router檔案裡面include相應的controller,然後在controller裡面需要router函式上面寫上router的注釋,就可以完成註冊路由.
a1)在router裡面include usercontroller
a2)在main.go的beego.run()上面註冊orm資料庫
a4)啟動應用,然後進入相應的測試路由,檢驗結果.
建立Beego框架
基於 先執行go get u github.com astaxie beego 可能會遇到git missing的問題 安裝git sudo apt get install git 繼續執行 無法繼續的原因可能是因為沒有在全域性中gedit profile裡搭建go環境 解決好後 執行cd gopa...
Beego框架簡介
1.beego是乙個使用go語言來開發web引用的goweb框架,該框架起始於2012年,由一位中國的程式設計師編寫並進行公開,其目的就是為大家提供乙個高效率的web應用開發框架。該框架採用模組封裝,使用簡單,容易學習。方便技術開發者快速學習並進行實際開發。對程式設計師來說,beego掌握起來非常簡...
Beego 框架使用
beego 框架是國人謝孟軍基於go語言net http框架開發的web框架,開發文件比較詳細,beego beego 是典型的mvc架構,也提供了很多模組.比如日誌,cache,效能監測,orm等等並且社群活躍 beego可以用來快速開發api web 後端服務等各種應用,是乙個restful風格...