1.2. fejezet, GORM
Beküldte pzoli - 2025, március 22 - 3:31du
Telepítendő függőségek
go get -u gorm.io/gorm go get -u gorm.io/driver/postgres go get -u github.com/magiconair/properties
Egyszerű lekérdezés
app-main.go
package main import ( "encoding/json" "fmt" "github.com/magiconair/properties" "gorm.io/driver/postgres" "gorm.io/gorm" "log" "os" ) type Doctor struct { id uint name string } var p = properties.MustLoadFile("config.properties", properties.UTF8) var ( dsn = fmt.Sprintf("host=%s port=%d user=%s password=%s dbname=%s sslmode=disable", p.MustGetString("host"), p.MustGetInt("port"), p.MustGetString("user"), p.MustGetString("password"), p.MustGetString("dbname"), ) ) func main() { db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{}) checkErr(err) var results []map[string]interface{} db.Table("doctor").Model(&Doctor{}).Find(&results) // print as JSON string and write to doctors.json file jsons, _ := json.MarshalIndent(results, "", " ") fmt.Println(string(jsons)) err = os.WriteFile("doctors.json", jsons, 0644) checkErr(err) // read doctors.json and unmarshal dat, err := os.ReadFile("doctors.json") err = json.Unmarshal(dat, &results) checkErr(err) for result := range results { log.Printf("%+v\n", results[result]["name"]) } } func checkErr(err error) { if err != nil { panic(err) } }
- A hozzászóláshoz be kell jelentkezni