gorm查询数据 mirror表中所有数据并用切片保存如何做给个示例
假设你有一个名为Mirror的gorm模型,表示mirror表,你可以使用以下代码查询mirror表中的所有数据并将其保存到切片中:
package main
import (
"fmt"
"gorm.io/driver/mysql"
"gorm.io/gorm"
)
type Mirror struct {
ID uint
Name string
}
func main() {
dsn := "root:password@tcp(127.0.0.1:3306)/database_name?charset=utf8mb4&parseTime=True&loc=Local"
db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
if err != nil {
panic("failed to connect to database")
}
var mirrors []Mirror
result := db.Find(&mirrors)
if result.Error != nil {
panic(result.Error)
}
fmt.Println(mirrors)
}
在上面的代码中,我们首先定义了一个名为Mirror的结构体来表示数据库表中的每一行数据。然后,我们使用gorm.Open函数来连接到数据库。接下来,我们声明一个切片mirrors来保存查询结果。
使用db.Find函数来查询mirror表中的所有数据,并将结果保存到mirrors切片中。如果查询过程中出现错误,我们将使用panic函数来抛出错误信息。
最后,我们打印出mirrors切片中的数据。
请确保将dsn中的root:password替换为你的数据库用户名和密码,127.0.0.1:3306替换为你的数据库地址和端口号,database_name替换为你要连接的数据库名。
原文地址: http://www.cveoy.top/t/topic/h046 著作权归作者所有。请勿转载和采集!