以下是使用golang中的sql.DB查询列表的示例代码:
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
type User struct {
Id int
Name string
Age int
}
func main() {
db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/mydb")
if err != nil {
panic(err.Error())
}
defer db.Close()
rows, err := db.Query("SELECT id, name, age FROM users")
if err != nil {
panic(err.Error())
}
defer rows.Close()
var userList []User
for rows.Next() {
var user User
err := rows.Scan(&user.Id, &user.Name, &user.Age)
if err != nil {
panic(err.Error())
}
userList = append(userList, user)
}
if err := rows.Err(); err != nil {
panic(err.Error())
}
// Do something with userList...
}
在上面的示例代码中,我们首先打开一个MySQL数据库连接,并执行了一个简单的SELECT语句来获取用户列表。随后,我们使用rows.Next()
循环遍历每一行数据,并使用rows.Scan()
将数据映射到一个名为User
的结构体中。最后,我们将所有的用户添加到一个名为userList
的切片中,以便后续处理。注意,我们还需要调用rows.Err()
方法来检查是否有任何错误发生。