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:
- Stabilire una connessione al database usando un pacchetto, ad esempio,
database/sqle il driver corrispondente (ad esempio,pqper PostgreSQL). - Eseguire query SQL per inserire, aggiornare, eliminare o selezionare dati.
- 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.