使用Go语言的sqlx库可以方便地执行查询并返回struct数组。以下是一个简单的示例代码:
package main
import (
"fmt"
"log"
"github.com/jmoiron/sqlx"
_ "github.com/go-sql-driver/mysql"
)
type User struct {
ID int `db:"id"`
Name string `db:"name"`
Email string `db:"email"`
}
func main() {
db, err := sqlx.Open("mysql", "username:password@tcp(localhost:3306)/database")
if err != nil {
log.Fatal(err)
}
var users []User
err = db.Select(&users, "SELECT * FROM users")
if err != nil {
log.Fatal(err)
}
for _, user := range users {
fmt.Printf("ID: %d, Name: %s, Email: %s\n", user.ID, user.Name, user.Email)
}
}
在上面的代码中,我们定义了一个User
结构体来表示数据库中的用户表。然后通过sqlx.Open
函数连接到MySQL数据库,并使用db.Select
方法执行查询并将结果存储到users
切片中。
注意替换代码中的数据库连接字符串和查询语句为你自己的实际情况。
内容由零声教学AI助手提供,问题来源于学员提问