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

我使用sqlx查询数据库数据,链表查询结果如下:
sqlx 查询一对多数据,并赋值给结构体

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

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

 

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: batch insert operation


下一篇:如何从Go / MySQL中记录所有传出的SQL语句?