欧美日韩激情_美女国产一区_国产精品久久久久影院日本_69xxx在线

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.kartarina.com/news20/321020.html

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

廣告

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

綿陽服務器托管
欧美日韩激情_美女国产一区_国产精品久久久久影院日本_69xxx在线
日韩一区二区免费在线观看| 精品一区二区成人精品| 日韩女优电影在线观看| 欧美在线一区二区| 91免费在线播放| 91网站在线观看视频| 99久久亚洲一区二区三区青草| 成人性生交大片免费看在线播放 | 97se亚洲国产综合在线| 97国产精品videossex| 99v久久综合狠狠综合久久| 9久草视频在线视频精品| 91片黄在线观看| 欧美视频一区在线| 91麻豆精品国产无毒不卡在线观看| 欧美一区二区在线观看| 26uuu另类欧美亚洲曰本| 欧美激情自拍偷拍| 一区二区三区在线观看视频| 日本麻豆一区二区三区视频| 国产乱码精品一区二区三区忘忧草 | 一区二区三区毛片| 天天做天天摸天天爽国产一区 | 一本色道久久综合亚洲91| 在线免费不卡电影| 欧美日韩不卡在线| 久久综合成人精品亚洲另类欧美| 国产精品久线观看视频| 亚洲电影激情视频网站| 国内精品伊人久久久久av影院| 丰满亚洲少妇av| 7777精品伊人久久久大香线蕉最新版| 久久久精品tv| 亚洲综合小说图片| 国产一区二区三区久久久| 色av一区二区| 国产亚洲欧美日韩日本| 亚洲电影一区二区| 成人免费观看视频| 欧美一级视频精品观看| 亚洲天堂网中文字| 国产在线麻豆精品观看| 色综合网站在线| 国产午夜精品美女毛片视频| 午夜精品久久久| 色狠狠综合天天综合综合| 日本高清视频一区二区| 欧美一区日韩一区| 国产日韩综合av| 亚洲va欧美va国产va天堂影院| 国产精品一区免费在线观看| 欧美三级日本三级少妇99| 国产精品不卡在线| 国产一区二区三区在线观看免费 | 欧美色欧美亚洲另类二区| 国产欧美一区二区精品仙草咪| 日韩国产一二三区| 欧美在线观看18| 亚洲欧美日韩国产综合在线| 国产成人鲁色资源国产91色综| 日韩一区二区精品葵司在线 | 国产精品丝袜黑色高跟| 理论电影国产精品| 日韩午夜在线播放| 婷婷中文字幕一区三区| 欧美视频在线一区二区三区| 综合av第一页| 99麻豆久久久国产精品免费优播| 国产农村妇女毛片精品久久麻豆| 国产乱子伦视频一区二区三区| 欧美大片国产精品| 激情图片小说一区| 久久蜜桃av一区精品变态类天堂| 久久精品国产99久久6| 日韩精品一区二区三区视频在线观看| 免费人成黄页网站在线一区二区| 欧美精品乱码久久久久久按摩| 亚洲1区2区3区视频| 欧美顶级少妇做爰| 日本欧美一区二区三区乱码| 欧美一区二区视频免费观看| 精品一区二区三区在线播放 | av高清不卡在线| 亚洲精品自拍动漫在线| 91丨九色丨黑人外教| 亚洲人成精品久久久久| 色系网站成人免费| 丝袜美腿亚洲色图| 中文字幕亚洲区| 国产精品99久久久久久久vr | 狠狠色2019综合网| 26uuu亚洲综合色欧美| 国产一区二区在线视频| 国产精品国产a级| 在线观看亚洲精品视频| 青青国产91久久久久久| 国产色婷婷亚洲99精品小说| 一本一道久久a久久精品| 亚洲成人动漫一区| 久久久天堂av| 在线中文字幕不卡| 精品亚洲成a人| 亚洲女与黑人做爰| 狠狠网亚洲精品| 亚洲天堂2014| 日韩欧美电影一二三| zzijzzij亚洲日本少妇熟睡| 日本特黄久久久高潮| 久久夜色精品国产噜噜av| 91香蕉视频在线| 国产一区不卡视频| 无吗不卡中文字幕| 国产精品麻豆久久久| 欧美精品日日鲁夜夜添| 成人av在线网站| 久久99精品久久久久久国产越南| 亚洲精品日韩专区silk| 精品国产百合女同互慰| 欧美亚洲一区二区在线| 成人免费高清在线观看| 蜜桃91丨九色丨蝌蚪91桃色| 一区二区视频在线| 国产人伦精品一区二区| 日韩一级二级三级| 欧美在线免费观看视频| 成人理论电影网| 国产精品123| 日本成人在线一区| 亚洲成av人片www| 亚洲视频一区在线观看| 久久久蜜桃精品| 日韩免费高清视频| 欧美精品xxxxbbbb| 欧美日韩三级一区二区| 在线一区二区三区四区五区 | 一区二区三区在线影院| 中文字幕av在线一区二区三区| 日韩精品中文字幕一区 | 色婷婷av一区二区三区gif| 国产成人精品亚洲日本在线桃色| 免费久久精品视频| 视频一区二区三区中文字幕| 亚洲高清视频在线| 亚洲一级片在线观看| 亚洲综合色自拍一区| 一二三四社区欧美黄| 亚洲自拍偷拍九九九| 亚洲精品国产成人久久av盗摄| 国产精品国产三级国产a| 精品精品国产高清一毛片一天堂| 亚洲国产欧美另类丝袜| 中文字幕亚洲视频| 中文字幕精品在线不卡| 久久精品免视看| 中文字幕乱码日本亚洲一区二区| 国产欧美一区二区三区鸳鸯浴 | 欧美一区二区三区日韩| 欧美日韩精品一区二区三区蜜桃| 色综合天天性综合| 欧洲国内综合视频| 欧美精品三级在线观看| 日韩一区二区精品在线观看| 欧美成人高清电影在线| 久久品道一品道久久精品| 欧美国产一区在线| 国产精品久久久久久久久晋中| 亚洲免费观看高清完整版在线观看 | 精一区二区三区| 国产成人夜色高潮福利影视| 成人福利视频网站| 欧美日韩综合不卡| 精品粉嫩超白一线天av| 国产精品久久久久永久免费观看 | 亚洲精品一线二线三线无人区| 久久影音资源网| 欧洲色大大久久| 免费欧美高清视频| 国产一区二区不卡在线| 国产福利一区在线观看| 91在线播放网址| 91超碰这里只有精品国产| 久久久久国产免费免费| 亚洲久草在线视频| 极品美女销魂一区二区三区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 欧美在线免费视屏| 2021久久国产精品不只是精品 | 欧美丰满美乳xxx高潮www| 久久免费看少妇高潮| 亚洲日本一区二区三区| 久久精品噜噜噜成人88aⅴ| 国产白丝精品91爽爽久久 | 久久精品亚洲乱码伦伦中文| 亚洲第一精品在线| 国产传媒欧美日韩成人| 欧美高清www午色夜在线视频| 18成人在线视频| 黄色小说综合网站| 在线播放视频一区| 亚洲男女一区二区三区|