久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx

Golang入門系列(十三)如何用Beego快速開發web應用

2024-03-21    分類: 網站建設

接著之前的內容,前面已經講過很多Golang的基礎語法,mysql的使用,redis的使用,也講了orm框架,如何創建一個webapi 服務等等,感興趣的可以看看以前的文章。今天要來說一說,如何用beego開發web應用。

介紹

它是由國內團隊開發的開源框架,文檔基本都是中文,簡單易懂。

安裝

需要安裝 Beego 和 Bee 的開發工具:

$ gogetgithub.com/astaxie/beego$ gogetgithub.com/beego/bee

注意:

beege和bee是兩個概念。beego是框架,bee是工具,是命令。在安裝Beego前,先確認是否將$GOPATH/bin寫入GO環境中。創建應用

創建一個名為webDemo的應用

$ beenewwebDemo//創建一個web應用$ bee api webDemo //創建一個api應用編譯運行

進入webDemo目錄中,執行bee run,就會完成編譯、運行:

$ bee run

成功后,打開瀏覽器訪問:http://localhost:8080,可以看到如圖:

項目結構

以上就beego 的安裝和運行簡單的介紹完了,下面我們就通過訂單查詢和新增的例子來學習學習如何用beego開發web應用。一般的 beego 項目的目錄如下所示:

├── conf //配置文件│ └── app.conf├── controllers //控制器│ └── default.go├── main.go ├── models //模型 │ └── models.go├── routers //路由│ └──router.go├── static //靜態文件│ ├── css│ ├── ico│ ├── img│ └── js└── views //界面 └── index.tpl

1、conf

beego 默認會創建配置文件目錄,里面放置系統的配置文件,這里我們先創建app.conf ,增加數據庫連接配置。

appname= webDemohttpport =8080runmode = devDBConn="root:root@tcp(localhost:3306)/zwz_test?charset=utf8"

2、controller

controllers目錄主要是控制器相關的,我們在controllers中增加pay.go

package controllersimport ("webDemo/models")func(c*MainController)PayQuery() {AccountID,_:=c.GetInt64("AccountID1") payment,_:= models.GetPaymenRec(AccountID)c.Data["AccountID"] = payment.AccountIDc.Data["PartnerID"] = payment.PartnerIDc.Data["UserID"] = payment.UserIDc.Data["CreateTime"] = payment.CreateTimec.Data["Amount"] = payment.Amountc.Data["OuterTradeNo"] = payment.OuterTradeNoc.Data["Remark"] = payment.Remarkc.Data["Status"] = payment.Statusc.Data["Msg"] = payment.Msgc.TplName="query.html"}func(c*MainController)PayAdd() {varpayment models.PaymentRecordStrc.ParseForm(&payment) pay,_:= models.AddPaymenRec(payment)c.Data["AccountID"] = pay.AccountIDc.Data["PartnerID"] = pay.PartnerIDc.Data["UserID"] = pay.UserIDc.Data["CreateTime"] = pay.CreateTimec.Data["Amount"] = pay.Amountc.Data["OuterTradeNo"] = pay.OuterTradeNoc.Data["Remark"] = pay.Remarkc.TplName="query.html"}

3、models

models是存放實體類文件,屬于模型層,負責定義實體類和數據增刪改查的操作。在models目錄下增加pay.go 。

packagemodelsimport ("database/sql""errors""strconv""time""github.com/astaxie/beego"_"github.com/go-sql-driver/mysql")varDb *sql.DBtype PaymentRecordstruct{ Idint64AccountIDint64PartnerIDstringUserIDstringCreateTimestringAmountfloat64OuterTradeNostringRemarkstringStatusintMsgstring}typePaymentRecordStrstruct{ AccountIDstringPartnerIDstringUserIDstringCreateTimestringAmountstringOuterTradeNostringRemarkstring}funcinit(){ dbconn := beego.AppConfig.String("DBConn") db, err := sql.Open("mysql", dbconn)iferr !=nil{return} db.SetMaxOpenConns(2000) db.SetMaxIdleConns(0) db.Ping() Db = db}funcClose(){ifDb !=nil{ Db.Close() }}funcAddPaymenRec(rec PaymentRecordStr)(PaymentRecord, error){varisql ="INSERT pay_demo SET account_id=?,partner_id=?,user_id=?,amount=?,outer_tradeno=?,remark=?"AccountID, _ := strconv.ParseInt(rec.AccountID,10,64) Amount, _ := strconv.ParseFloat(rec.Amount,64) response := PaymentRecord{0, AccountID, rec.PartnerID, rec.UserID, rec.CreateTime, Amount, rec.OuterTradeNo, rec.Remark,0,""}ifDb ==nil{returnresponse, errors.New("AddPaymenRec connect mysql failed") } stmt, _ := Db.Prepare(isql)deferstmt.Close() beego.Informational("AddPaymenRec rec=%v", rec) res, err := stmt.Exec(AccountID, rec.PartnerID, rec.UserID, Amount, rec.OuterTradeNo, rec.Remark)iferr ==nil{ response.Id, _ = res.LastInsertId() response.Status =1response.Msg ="已生效"returnresponse,nil}returnresponse,nil}funcGetPaymenRec(AccountIDint64)(PaymentRecord, error){varqsql ="SELECT * FROM pay_demo WHERE account_id=?"varresponse PaymentRecord response.Msg ="失敗"ifAccountID !=0{ifDb ==nil{returnresponse, errors.New("GetPaymenRec connect mysql failed") } stmt, _ := Db.Prepare(qsql) rows, err := stmt.Query(AccountID)deferrows.Close()iferr !=nil{returnresponse, err }vartimedatestringforrows.Next() { err = rows.Scan(&response.Id, &response.AccountID, &response.PartnerID, &response.UserID, &timedate, &response.Amount, &response.OuterTradeNo, &response.Remark)iferr !=nil{returnresponse, err } DefaultTimeLoc := time.Local loginTime, err := time.ParseInLocation("2006-01-02 15:04:05", timedate, DefaultTimeLoc)iferr ==nil{ unix_time := loginTime.Unix()//time to int64 response.CreateTime = time.Unix(unix_time, 0).Format("2006-01-02 15:04:05") response.Status = 2 response.Msg = "成功" return response, err } else { return response, err } } return response, nil } return response, errors.New("GetPaymenRec Requset is non porinter")}

和實體對應的還有數據庫中的表結構,這里我們手動在數據庫中增加pay_demo表,實際上beego封裝了orm,可自動創建對應的表。

CREATETABLE`pay_demo`(`id`int(64)NOTNULLAUTO_INCREMENT,`account_id`int(64)NOTNULL,`partner_id`varchar(50)CHARACTERSETutf8DEFAULTNULL,`user_id`varchar(50)CHARACTERSETutf8DEFAULTNULL,`create_time`datetimeDEFAULTCURRENT_TIMESTAMP,`amount`doubleDEFAULT0,`outer_tradeno`varchar(50)CHARACTERSETutf8DEFAULTNULL,`remark`varchar(255)CHARACTERSETutf8DEFAULTNULL, PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=5024DEFAULTCHARSET=utf8COLLATE=utf8_bin;

4、views

views目錄負責存放前端模板文件。beego支持t4模板,功能非常強大。我們將原有的index.tpl 刪除,增加新的index.html 和query.html

index.html頁面:

html><html><head><title>webDemo

非常感謝您讀完創新互聯的這篇文章:"Golang入門系列(十三)如何用Beego快速開發web應用",僅為提供更多信息供用戶參考使用或為學習交流的方便。我們公司提供:網站建設、網站制作、官網建設、SEO優化、小程序制作等服務,歡迎聯系我們提供您的需求。

本文標題:Golang入門系列(十三)如何用Beego快速開發web應用
網站鏈接:http://www.js-pz168.com/news20/321020.html

成都網站建設公司_創新互聯,為您提供建站公司網站營銷標簽優化云服務器ChatGPT服務器托管

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管
久久99久久人婷婷精品综合_超碰aⅴ人人做人人爽欧美_亚洲电影第三页_日韩欧美一中文字暮专区_波多野结衣的一区二区三区_婷婷在线播放_人人视频精品_国产精品日韩精品欧美精品_亚洲免费黄色_欧美性猛交xxxxxxxx
欧美日韩无遮挡| 欧美三级乱人伦电影| 欧美日韩一卡二卡| 日韩欧美一区二区不卡| 26uuu精品一区二区| 中文字幕在线视频一区| 性欧美疯狂xxxxbbbb| 国产麻豆视频一区| 成人欧美一区二区| 亚洲国产精品一区在线观看不卡 | 日韩高清不卡在线| 福利视频网站一区二区三区| 国产精品视频免费一区| 亚洲一区二区三区加勒比 | 天堂精品中文字幕在线| 国产激情视频一区二区在线观看| 99视频在线| 在线视频一区观看| 欧美v日韩v国产v| 国产欧美视频一区二区| 亚洲一区在线电影| 国产一区二区毛片| 国产伦精品一区二区三区在线| 亚洲午夜精品久久久中文影院av | 亚洲综合免费观看高清完整版 | 福利电影一区二区| 欧美日韩一区二区视频在线| 欧美三级中文字幕| 日本一区二区成人| 美女国产一区二区三区| 91精品国产91久久久久青草| 在线综合视频网站| 久久精品一区蜜桃臀影院| 亚洲一区二区成人在线观看| 国产91清纯白嫩初高中在线观看| 韩国成人动漫在线观看| 欧美性猛交一区二区三区精品| 91麻豆精品国产91久久久久久久久| 国产精品妹子av| 六月丁香综合在线视频| 国产精品手机视频| 欧美精品一卡二卡| 亚洲欧美激情在线| 懂色av噜噜一区二区三区av| 日本高清视频一区二区三区 | ts人妖另类在线| 在线中文字幕不卡| 中文一区二区完整视频在线观看 | 久草热久草热线频97精品| 欧美三级资源在线| 亚洲欧美日韩精品久久久久| 国产一区二区免费在线| 欧美影视一区二区| 精品国产不卡一区二区三区| 日韩电影在线免费| 国产伦视频一区二区三区| 欧美另类z0zxhd电影| 亚洲免费观看高清完整版在线观看 | 你懂的视频在线一区二区| 欧美日韩电影在线播放| 国产精品久久国产精麻豆99网站| 久久疯狂做爰流白浆xx| 免费成人av网站| 精品久久五月天| 性做久久久久久免费观看欧美| 91在线精品一区二区三区| 欧美伊人久久久久久久久影院| 成人免费视频在线观看| 波多野结衣视频一区| 欧美亚洲丝袜传媒另类| 亚洲精品免费播放| 666精品在线| 在线观看91精品国产麻豆| 亚洲日本成人在线观看| 国产精品99久久久久久久vr| 中文字幕在线中文字幕日亚韩一区| 国产精品国产精品国产专区不蜜| 国产精品资源在线看| 色屁屁一区二区| 亚洲黄色尤物视频| 国产不卡一区二区在线观看| 日韩免费视频一区二区| 麻豆专区一区二区三区四区五区| 青娱乐国产91| 国产精品久久午夜| 99久久伊人久久99| 制服丝袜中文字幕一区| 日本欧美肥老太交大片| 日韩欧美一区二区三区四区五区| 国产欧美视频一区二区三区| 成人美女视频在线观看18| 欧美日韩亚州综合| 日本在线不卡视频一二三区| 日韩av高清在线播放| 亚洲欧洲av在线| 国产二区不卡| 久久九九影视网| 成人激情校园春色| 在线综合+亚洲+欧美中文字幕| 免费欧美在线视频| 亚洲一卡二卡三卡| 亚洲综合久久久久| 牛人盗摄一区二区三区视频| 中文字幕免费一区| 91色乱码一区二区三区| 精品区一区二区| 懂色av噜噜一区二区三区av| 91麻豆精品国产91久久久久久| 久久av中文字幕片| 在线观看亚洲精品| 日本在线播放一区二区三区| 中文字幕久久一区| 亚洲精品福利视频网站| 国产自产精品| 国产精品嫩草影院com| 91久久爱成人| 日韩三级伦理片妻子的秘密按摩| 国产精品一卡二卡| 制服丝袜日韩国产| 国产精品一区二区黑丝| 欧美放荡的少妇| 国产99久久久国产精品潘金网站| 欧美日韩一区二区三区在线看| 蜜芽一区二区三区| 欧洲视频一区二区| 日本特黄久久久高潮| 亚洲精品乱码视频| 亚洲五月六月丁香激情| 国产一区二区免费电影| 中文字幕视频一区二区三区久| 国产伦精品一区二区三区视频免费| 国产蜜臀97一区二区三区| www日韩av| 中文字幕一区二区三区在线观看| 国产专区一区二区| 亚洲另类一区二区| 日韩中文不卡| 日韩精品一二三区| 欧美三级中文字幕| 国产成人精品影视| 精品三级在线观看| 2022国产精品| 中文字幕一区免费在线观看| 欧洲久久久久久| 五月天一区二区| 欧美视频一区二| 国产成人精品亚洲777人妖| 欧美电影免费观看高清完整版 | 99视频免费观看| 日韩美女视频一区二区| 日本精品一区二区| 免费在线成人网| 制服丝袜中文字幕一区| 91偷拍与自偷拍精品| 亚洲欧洲色图综合| 日韩欧美国产二区| 蜜桃传媒麻豆第一区在线观看| 欧美精品aⅴ在线视频| 波波电影院一区二区三区| 欧美国产日本韩| 日韩av电影免费观看| 人人爽香蕉精品| 欧美精品18+| 91浏览器在线视频| 亚洲激情图片一区| 在线观看一区不卡| 成人国产在线观看| 日韩理论片一区二区| 中文字幕一区综合| 高清不卡一区二区| 国产精品蜜臀在线观看| 一区二区国产日产| 国产精品88av| 国产精品色婷婷| 宅男噜噜99国产精品观看免费| 国产精品一二三区在线| 国产欧美精品国产国产专区| 日本不卡免费新一二三区| 蜜桃久久av一区| 久久久久国色av免费看影院| 日本视频一区在线观看| 国产自产高清不卡| 国产精品网站在线观看| 日本不卡二区| 理论片日本一区| 久久精品视频免费| 亚洲激情电影在线| 国产精品综合一区二区| 国产精品女主播av| 在线中文字幕不卡| 91免费国产视频网站| 亚洲成a人片在线观看中文| 欧洲精品在线观看| 99在线首页视频| 亚洲第一激情av| 欧美精品tushy高清| 精品国产aⅴ麻豆| 日韩中文欧美在线| 久久久久久一级片| 色哟哟一区二区在线观看|