1.1. fejezet, PostgreSQL kapcsolat
Beküldte pzoli - 2025, március 22 - 12:58du
Csomagok telepítése
# Properties fájl olvasása go get -u github.com/magiconair/properties # PostgreSQL kapcsolat go get -u github.com/lib/pq
http-server.go
package main import ( _ "database/sql" "fmt" _ "github.com/lib/pq" "github.com/magiconair/properties" "net/http" ) var p = properties.MustLoadFile("config.properties", properties.UTF8) var ( psqlInfo = 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 printClients(w http.ResponseWriter, req *http.Request) { clients, err := getClients() if err != nil { panic(err) } fmt.Fprintln(w, "<html>") fmt.Fprintln(w, "<h2>Szia, ezek a kliens adatok</h2>") fmt.Fprintln(w, "<table><tbody>") for _, client := range clients { fmt.Fprintln(w, "<tr>") fmt.Fprintf(w, "<td>%d</td><td>%s</td>", client.id, client.neve) fmt.Fprintln(w, "</tr>") } fmt.Fprintln(w, "</tbody></table>") fmt.Fprintln(w, "</html>") } func main() { http.HandleFunc("/clients", printClients) err := http.ListenAndServe(":8090", nil) if err != nil { return } }
repository.go
package main import ( "database/sql" "log" ) type Client struct { id int neve string } func getClients() ([]Client, error) { db, err := sql.Open("postgres", psqlInfo) if err != nil { panic(err) } err = db.Ping() if err != nil { panic(err) } defer db.Close() var client Client rows, err := db.Query("SELECT id,neve FROM client") if err != nil { panic(err) } defer rows.Close() results := []Client{} for rows.Next() { if err = rows.Scan(&client.id, &client.neve); err != nil { log.Fatal(err) break } results = append(results, client) } return results, err }
- A hozzászóláshoz be kell jelentkezni