時間:2023-06-02 01:36:02 | 來源:網(wǎng)站運營
時間:2023-06-02 01:36:02 來源:網(wǎng)站運營
go語言web搭建(gorm+gin+mysql):dep ensure -add github.com/gin-gonic/gindep ensure -update -v
golang 官方依賴管理工具 dep 使用和持續(xù)集成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)鍵詞:語言
微信公眾號
版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。