Junior — Middle
W jaki sposób mikroserwis współdziała z bazą danych w celu przechowywania i pobierania danych?
sobes.tech AI
Odpowiedź od AI
Mikroserwis w Go komunikuje z bazą danych za pomocą sterowników lub bibliotek ORM, które implementują interfejs do łączenia się, wykonywania zapytań i obsługi wyników.
Główne kroki:
- Nawiązanie połączenia z bazą danych za pomocą pakietu, np.
database/sqli odpowiedniego sterownika (np.pqdla PostgreSQL). - Wykonywanie zapytań SQL do wstawiania, aktualizacji, usuwania lub pobierania danych.
- Przetwarzanie wyników zapytań i konwersja ich do potrzebnych struktur danych.
Przykład połączenia i pobierania danych z PostgreSQL:
import (
"database/sql"
_ "github.com/lib/pq"
"log"
)
func getUserByID(db *sql.DB, id int) (string, error) {
var name string
err := db.QueryRow("SELECT name FROM users WHERE id = $1", id).Scan(&name)
if err != nil {
return "", err
}
return name, nil
}
func main() {
connStr := "user=username dbname=mydb sslmode=disable"
db, err := sql.Open("postgres", connStr)
if err != nil {
log.Fatal(err)
}
defer db.Close()
name, err := getUserByID(db, 1)
if err != nil {
log.Println("Błąd podczas pobierania użytkownika:", err)
} else {
log.Println("Nazwa użytkownika:", name)
}
}
W ten sposób mikroserwis korzysta z bibliotek i sterowników standardowych do interakcji z bazą danych.