sqlx 查询一对多数据,并赋值给结构体

2021/9/27 19:11:40

本文主要是介绍sqlx 查询一对多数据,并赋值给结构体,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

我使用sqlx查询数据库数据,链表查询结果如下:

我想通过内嵌切片结构体获取查询数据 并返如下json格式

 

type User struct {     ID       int    `db:"id"`     Class    string `db:"class"`     Profiles []Profile } type Profile struct {     UID  int    `db:"uid"`     Cid  int    `db:"cid"`     Name string `db:"name"`     Age  int    `db:"age"` }

 

func main() {     db := sqlx.MustOpen("mysql", "用户名:123456@tcp(127.0.0.1:3306)/xorm")     defer db.Close()     stmt, err := db.Query("SELECT * FROM class left join users on id=cid WHERE id=?", 1)     if err != nil {         fmt.Println(err)     }     var user User     var profile Profile     for stmt.Next() {         err := stmt.Scan(&user.ID, &user.Class, &profile.UID, &profile.Name, &profile.Age, &profile.Cid)         if err != nil {             panic(err.Error())         }         user.Profiles = append(user.Profiles, profile)     }

 

    b, _ := json.Marshal(&user)     fmt.Println(string(b)) }

 有其他解决办法也请告诉我,这是我目前想到最好的解决方案了



这篇关于sqlx 查询一对多数据,并赋值给结构体的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程