package main import ( "fmt" "github.com/gin-gonic/gin" _ "github.com/go-sql-driver/mysql" "github.com/jmoiron/sqlx" "net/http" ) var Db *sqlx.DB func init() { database, err := sqlx.Open("mysql", "root:123456@tcp(127.0.0.1:3306)/book") if err != nil { fmt.Println("连接失败", err) } Db = database } type Books struct { Id int `db:"id"` Name string `db:"name"` Price float64 `db:"price"` } func main() { // 1.创建路由 r := gin.Default() // 查询 r.GET("/", func(c *gin.Context) { var books []Books err := Db.Select(&books, "select * from books") if err != nil { fmt.Println("出错了", err) return } c.JSON(200, books) }) // 添加 r.POST("/add", func(context *gin.Context) { name := context.PostForm("name") price := context.PostForm("price") r, err := Db.Exec("insert into books(name,price)values (?,?)", name, price) if err != nil { fmt.Println("出错了", err) return } id, err := r.LastInsertId() if err != nil { fmt.Println("出错了", err) return } fmt.Println("受影响行", id) }) // 更新 r.POST("/updata", func(context *gin.Context) { id := context.PostForm("id") name := context.PostForm("name") price := context.PostForm("price") res, err := Db.Exec("update books set name=?,price=? where id=?", name, price, id) if err != nil { fmt.Println("出错了", err) } row, err := res.RowsAffected() if err != nil { fmt.Println("出错了", err) return } fmt.Println("受影响行", row) }) // 删除 r.GET("/delete/:id", func(context *gin.Context) { id := context.Param("id") res, err := Db.Exec("delete from books where id=?", id) if err != nil { fmt.Println("出错了", err) return } row, err := res.RowsAffected() if err != nil { fmt.Println("出错了", err) return } context.String(http.StatusOK, "受影响行:", row) }) // Run("里面不指定端口号默认为8080") err := r.Run(":9090") if err != nil { return } }
关于go的gin框架的增删改查
最新推荐文章于 2023-10-17 14:17:28 发布