go gin和orm实现单表查询
时间: 2024-05-15 11:17:02 浏览: 165
假设我们有一个名为`user`的表,其中包含`id`、`name`和`age`三个字段。
使用Go Gin和ORM实现单表查询的代码如下:
```go
package main
import (
"github.com/gin-gonic/gin"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"
)
type User struct {
ID uint `json:"id"`
Name string `json:"name"`
Age uint `json:"age"`
}
func main() {
db, err := gorm.Open("mysql", "user:password@tcp(127.0.0.1:3306)/database_name?charset=utf8&parseTime=True&loc=Local")
if err != nil {
panic("failed to connect database")
}
defer db.Close()
// Migrate the schema
db.AutoMigrate(&User{})
r := gin.Default()
// GET /users
r.GET("/users", func(c *gin.Context) {
var users []User
db.Find(&users)
c.JSON(200, users)
})
r.Run(":8080")
}
```
在这个例子中,我们首先定义了一个`User`结构体,它对应了表中的三个字段。然后我们使用GORM连接数据库并自动映射模型。接下来,我们使用Gin创建一个HTTP路由,当收到GET请求`/users`时,我们从数据库中查询所有用户并将结果以JSON格式返回。
注意,我们在连接数据库时需要将`user`、`password`和`database_name`替换成实际的值。此外,我们还需要在代码中导入`github.com/jinzhu/gorm/dialects/mysql`以支持MySQL数据库。
阅读全文