ZBLOG

golang sql.db 如何将查询到的记录填充到对象

在 Golang 中,可以使用 database/sql 包来执行 SQL 查询,并将结果填充到对象中。以下是一个示例代码:

  1. // 定义一个结构体表示记录
  2. type User struct {
  3. ID int
  4. Username string
  5. Email string
  6. }
  7. // 执行查询并填充到对象中
  8. func getUserById(id int) (*User, error) {
  9. // 打开数据库连接
  10. db, err := sql.Open("mysql", "user:password@tcp(127.0.0.1:3306)/dbname")
  11. if err != nil {
  12. return nil, err
  13. }
  14. defer db.Close()
  15. // 执行查询
  16. row := db.QueryRow("SELECT id, username, email FROM users WHERE id = ?", id)
  17. // 将查询结果填充到对象中
  18. var user User
  19. err = row.Scan(&user.ID, &user.Username, &user.Email)
  20. if err != nil {
  21. return nil, err
  22. }
  23. return &user, nil
  24. }

在上面的代码中,我们定义了一个 User 结构体来表示用户记录,然后使用 db.QueryRow 函数执行查询并返回一行记录。接着,我们使用 row.Scan 函数将查询结果填充到 User 对象中。

需要注意的是,在使用 Scan 函数填充对象时,要确保对象字段的类型与查询结果一致,否则会出现类型错误。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=2073

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?