Go-gin的基本使用
来源:互联网 发布:上古卷轴5清理脏数据 编辑:程序博客网 时间:2024/06/07 17:48
之前了解到了golang中使用较多的gin框架,所以在这里贴一个简单的demo,便于记录,代码如下:
package mainimport ("database/sql""fmt""log""net/http""github.com/gin-gonic/gin"_ "github.com/go-sql-driver/mysql")type Person struct {Id int `json:"id" form:"id"`FirstName string `json:"first_name" form:"first_name"`LastName string `json:"last_name" form:"last_name"`}func main() {db, err := sql.Open("mysql", "root:@tcp(127.0.0.1:3306)/test?parseTime=true")defer db.Close()if err != nil {log.Fatalln(err)}db.SetMaxIdleConns(20)db.SetMaxOpenConns(20)if err := db.Ping(); err != nil {log.Fatalln(err)}router := gin.Default()router.GET("/", func(c *gin.Context) {c.String(http.StatusOK, "It works")})router.GET("/insert", func(c *gin.Context) {firstName := c.Request.FormValue("first_name")lastName := c.Request.FormValue("last_name")rs, err := db.Exec("INSERT INTO person(first_name, last_name) VALUES (?, ?)", firstName, lastName)if err != nil {log.Fatalln(err)}id, err := rs.LastInsertId()if err != nil {log.Fatalln(err)}fmt.Println("insert person Id {}", id)msg := fmt.Sprintf("insert successful %d", id)c.JSON(http.StatusOK, gin.H{"msg": msg})})router.GET("/query", func(c *gin.Context) {rows, err := db.Query("SELECT id, first_name, last_name FROM person")defer rows.Close()if err != nil {log.Fatalln(err)}persons := make([]Person, 0)for rows.Next() {var person Personrows.Scan(&person.Id, &person.FirstName, &person.LastName)persons = append(persons, person)}if err = rows.Err(); err != nil {log.Fatalln(err)}c.JSON(http.StatusOK, gin.H{"persons": persons,})})router.Run(":8080")}
如代码所示,实现一个简单的数据插入与查询的功能,服务监听8080端口。
阅读全文
0 0
- Go-gin的基本使用
- Go-gin的基本使用
- go的gin框架的性能测试
- Go和Gin的环境配置
- go服务端----使用gin框架搭建简易服务
- httprouter框架 (Gin使用的路由框架)
- Go语言web框架 gin
- Go 笔记之使用gin实现查询数据Json输出 未封装
- gin使用gzip压缩
- Go实战--通过gin-gonic框架搭建restful api服务(github.com/gin-gonic/gin)
- go template基本使用
- go install 基本使用
- Go的基本数据类型
- Win10 go-ethereum的安装配置与基本使用教程
- Zookeeper Golang客户端:go-zookeeper的基本使用
- Zookeeper Golang客户端:go-zookeeper的基本使用
- go语言web框架gin 从请求中取参数
- 在gin中使用中间件实现RestAPI权限验证的示例
- JDBC连接MySQL和SQL Server的工具类
- 朴素bayes 算法
- vue中的路由及自定义图标
- 算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)
- 图遍历的算法
- Go-gin的基本使用
- string总结
- python入门第三天——类
- 李航《统计学习方法》错误汇总修编
- 关于整数的二进制中1的个数
- 浙江省多媒体竞赛及宁波一行
- 树存储结构的几种表示方法
- 嵌入式实验(一)安装交叉编译工具链arm-none-linux-gnueabi-时遇到的问题
- Go-实现程序零点定时启动