Sobes.tech
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:

  1. Nawiązanie połączenia z bazą danych za pomocą pakietu, np. database/sql i odpowiedniego sterownika (np. pq dla PostgreSQL).
  2. Wykonywanie zapytań SQL do wstawiania, aktualizacji, usuwania lub pobierania danych.
  3. 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.