go语言使用结构体连接MySQL的方法
时间: 2023-09-09 17:05:45 浏览: 46
可以使用 Go 语言的 `database/sql` 包连接 MySQL 数据库。结构体可以通过定义对应的数据库表来实现数据的映射和访问。以下是一个简单的示例代码:
```go
package main
import (
"database/sql"
"fmt"
_ "github.com/go-sql-driver/mysql"
)
type User struct {
Id int
Name string
Age int
}
func main() {
// 连接 MySQL 数据库
db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname")
if err != nil {
panic(err)
}
defer db.Close()
// 查询数据
rows, err := db.Query("SELECT id, name, age FROM users")
if err != nil {
panic(err)
}
defer rows.Close()
// 解析数据
var users []User
for rows.Next() {
var user User
err := rows.Scan(&user.Id, &user.Name, &user.Age)
if err != nil {
panic(err)
}
users = append(users, user)
}
// 输出数据
for _, user := range users {
fmt.Printf("%d\t%s\t%d\n", user.Id, user.Name, user.Age)
}
}
```
在上面的代码中,我们定义了一个 `User` 结构体,并通过查询数据库表 `users` 来获取数据。通过 `rows.Scan()` 方法将查询结果解析为 `User` 结构体对象,并将其添加到一个切片中,最后输出结果。