Sobes.tech
Junior — Middle

Come interagisce il microservizio con il database per memorizzare e recuperare i dati?

sobes.tech AI

Risposta dell'AI

Un microservizio in Go interagisce con il database tramite driver o librerie ORM che implementano un'interfaccia per connettersi, eseguire query e gestire i risultati.

Passaggi principali:

  1. Stabilire una connessione al database usando un pacchetto, ad esempio, database/sql e il driver corrispondente (ad esempio, pq per PostgreSQL).
  2. Eseguire query SQL per inserire, aggiornare, eliminare o selezionare dati.
  3. Gestire i risultati delle query e convertirli nelle strutture dati necessarie.

Esempio di connessione e query in 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("Errore nel recuperare l'utente:", err)
    } else {
        log.Println("Nome utente:", name)
    }
}

In questo modo, il microservizio utilizza librerie e driver standard per interagire con il database.