二、環(huán)境搭建利用dep下載gin,gorm

1,gin https://github.com/gin-gonic/gin

2,gorm http://gorm.book.jasperxu.com" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)站運營 > go語言web搭建(gorm+gin+mysql)

go語言web搭建(gorm+gin+mysql)

時間:2023-06-02 01:36:02 | 來源:網(wǎng)站運營

時間:2023-06-02 01:36:02 來源:網(wǎng)站運營

go語言web搭建(gorm+gin+mysql):

一、我的環(huán)境

Mac pro + golang (IDE:goland) + dep (依賴管理工具)

二、環(huán)境搭建

利用dep下載gin,gorm

1,gin https://github.com/gin-gonic/gin

2,gorm http://gorm.book.jasperxu.com/

dep ensure -add github.com/gin-gonic/gindep ensure -update -vgolang 官方依賴管理工具 dep 使用和持續(xù)集成

(dep 添加依賴依據(jù)import內(nèi)容下載,修改import后可用第二個命令更新依賴)

3,網(wǎng)頁測試工具postman安裝教程Postman使用詳解

4,Mac上mysql可視化管理工具sequel pro

Mac 安裝 mysql, Sequel Pro 輔助處理數(shù)據(jù)庫

三、項目源碼

package mainimport ( "fmt" "github.com/gin-gonic/gin" "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" _ "github.com/jinzhu/gorm/dialects/sqlite")var db *gorm.DBvar err errortype Demo_user struct { Id int `gorm:"size:11;primary_key;AUTO_INCREMENT;not null" json:"id"` Age int `gorm:"size:11;DEFAULT NULL" json:"age"` Name string `gorm:"size:255;DEFAULT NULL" json:"name"` //gorm后添加約束,json后為對應(yīng)mysql里的字段}func main() { db, err = gorm.Open("mysql","name:password@ip:port/databasename?charset=utf8mb4&parseTime=True&loc=Local&readTimeout=500ms") if err != nil { panic(err) }else{ fmt.Println("connect success") db.SingularTable(true) //db.AutoMigrate(&Demo_user{}) 自動建表 //fmt.Println("build table success") } defer db.Close() /* if db.HasTable("demo_user"){ fmt.Println("查找成功") } else { fmt.Println("查找失敗") } */ r := gin.Default() //路徑映射 r.GET("/user/init", InitPage) r.POST("/user/create", CreateUser) r.GET("/user/list", ListUser) r.POST("/user/update", UpdateUser) r.GET("/user/find", GetUser) //端口號 r.Run(":8080")}func InitPage(c *gin.Context) { c.JSON(200, gin.H{ "message": "pong", })}func CreateUser(c *gin.Context) { var user Demo_user //使用bind JSON填充對象 c.BindJSON(&user) //創(chuàng)建對象 db.Create(&user) //返回頁面 c.JSON(200, &user)}func UpdateUser(c *gin.Context) { var user Demo_user //post方法取相應(yīng)字段 id:=c.PostForm("id") //數(shù)據(jù)庫查找主鍵=ID的第一行 e:=db.First(&user, id).Error if e!=nil{ c.AbortWithStatus(404) fmt.Println(err.Error()) }else { c.BindJSON(&user) //提交更改 db.Save(&user) c.JSON(200, &user) }}func ListUser(c *gin.Context) { var user []Demo_user line:=c.Query("line") //限制查找前l(fā)ine行 db.Limit(line).Find(&user) c.JSON(200, &user)}func GetUser(c *gin.Context) { id:=c.Query("id") var user Demo_user e:=db.First(&user,id).Error if e!=nil{ c.AbortWithStatus(404) fmt.Println(err.Error()) }else { c.JSON(200, &user) }}





參考文獻

相關(guān)項目 使用Go,Gin和Gorm開發(fā)簡單的CRUD API ; 使用Go,Gin和Gorm開發(fā)簡單的CRUD API

gorm中文文檔(推薦) 1.4. CRUD:讀寫數(shù)據(jù) · GORM 中文文檔

gin官方文檔 gin-gonic/gin











關(guān)鍵詞:語言

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉