gozero 中model 多条数据查询 列子
时间: 2023-10-04 13:08:29 浏览: 154
假设我们有一个 `users` 表,其中包含 `id`、`name` 和 `age` 三个字段。我们可以定义一个 `User` 结构体来映射该表:
```go
type User struct {
ID int `db:"id"`
Name string `db:"name"`
Age int `db:"age"`
}
```
接下来,我们可以利用 GoZero 中的 `db.Select()` 方法来进行多条数据查询。例如,我们想要查询所有用户的信息,可以使用以下代码:
```go
var users []User
err := db.Select(&users, "SELECT * FROM users")
if err != nil {
// 错误处理
}
// 处理查询结果
for _, user := range users {
fmt.Printf("ID: %d, Name: %s, Age: %d\n", user.ID, user.Name, user.Age)
}
```
在上面的例子中,我们首先定义了一个 `users` 切片来存储查询结果。然后,使用 `db.Select()` 方法来执行 SQL 查询语句,并将结果存储在 `users` 切片中。最后,我们遍历 `users` 切片,打印每个用户的信息。
需要注意的是,我们在 SQL 查询语句中使用了 `*` 通配符,表示查询所有列的数据。如果我们只想查询某些列的数据,可以在查询语句中指定这些列的名称。例如,如果只想查询用户的姓名和年龄,可以使用以下查询语句:
```go
err := db.Select(&users, "SELECT name, age FROM users")
```
这样的话,查询结果中只会包含 `name` 和 `age` 两列的数据。
阅读全文