Go-gin的基本使用
来源:互联网 发布:淘宝美工设计培训 编辑:程序博客网 时间:2024/06/06 10:04
之前了解到了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权限验证的示例
- jquery的ajax动态下拉列表
- 897BChtholly's request
- 个人收获演讲模板
- http与https之间的区别
- C语言中的static 详细分析
- Go-gin的基本使用
- 查找之顺序查找
- 解决相对定位随滚动条滚动可以无限下滑的问题
- 用Eclipse做Android开发时出现java.lang.NoClassDefFoundError问题
- 22. Generate Parentheses
- c++读取文件内容并统计指定字符的个数
- Studio使用问题汇总
- mac 无法安装jdk1.7解决方案
- tomcat连接超时设置,EclispeMarket超时