Junior — Middle
Hoe communiceert de microservice met de database voor het opslaan en ophalen van gegevens?
sobes.tech AI
Antwoord van AI
Een microservice in Go communiceert met de database via drivers of ORM-bibliotheken die een interface implementeren voor verbinding maken, queries uitvoeren en resultaten verwerken.
Belangrijkste stappen:
- Maak verbinding met de database met behulp van een pakket, bijvoorbeeld
database/sqlen de bijbehorende driver (bijvoorbeeldpqvoor PostgreSQL). - Voer SQL-query's uit om gegevens in te voegen, bij te werken, te verwijderen of op te halen.
- Verwerk de resultaten van de query's en zet ze om in de benodigde datastructuren.
Voorbeeld van verbinding maken en ophalen uit 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("Fout bij het ophalen van gebruiker:", err)
} else {
log.Println("Gebruikersnaam:", name)
}
}
Op deze manier gebruikt de microservice standaardbibliotheken en drivers om te communiceren met de database.