golang web 开发 —— gin 框架 (gorm 链接 mysql)
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"
_ "github.com/go-sql-driver/mysql"
)
type Product struct {
gorm.Model
Code string
Price uint
}
func main() {
router := gin.Default()
// 连接MySQL数据库
db, err := gorm.Open("mysql", "user:password@(localhost)/dbname?charset=utf8&parseTime=True&loc=Local")
if err != nil {
panic(err)
}
defer db.Close()
// 自动迁移数据库表
db.AutoMigrate(&Product{})
// 添加商品
router.POST("/products", func(c *gin.Context) {
var json Product
c.BindJSON(&json)
db.Create(&json)
c.JSON(200, gin.H{"code": json.Code, "price": json.Price})
})
// 获取所有商品
router.GET("/products", func(c *gin.Context) {
var products []Product
db.Find(&products)
c.JSON(200, products)
})
// 运行服务器
fmt.Println("Running on http://localhost:8080/")
router.Run("localhost:8080")
}
这段代码展示了如何在Go语言中使用Gin框架和Gorm库来连接MySQL数据库,并创建一个简单的RESTful API,包括添加商品和获取所有商品的功能。代码简洁,注重教学,适合初学者学习和模仿。
评论已关闭