Junior — Middle
Cum interacționează microserviciul cu baza de date pentru stocarea și recuperarea datelor?
sobes.tech AI
Răspuns de la AI
Un microserviciu în Go interacționează cu baza de date prin intermediul driverelor sau bibliotecilor ORM care implementează o interfață pentru conectare, executarea interogărilor și procesarea rezultatelor.
Pașii principali:
- Stabilirea unei conexiuni cu baza de date folosind un pachet, de exemplu,
database/sqlși driverul corespunzător (de exemplu,pqpentru PostgreSQL). - Executarea interogărilor SQL pentru inserare, actualizare, ștergere sau selectare de date.
- Procesarea rezultatelor interogărilor și transformarea acestora în structuri de date necesare.
Exemplu de conectare și interogare în 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("Eroare la preluarea utilizatorului:", err)
} else {
log.Println("Numele utilizatorului:", name)
}
}
Astfel, microserviciul utilizează biblioteci și drivere standard pentru a interacționa cu baza de date.