Junior — Middle
Ako mikroservis komunikuje s databázou na ukladanie a načítanie údajov?
sobes.tech AI
Odpoveď od AI
Mikroslužba v jazyce Go komunikuje s databází prostřednictvím ovladačů nebo knihoven ORM, které implementují rozhraní pro připojení, vykonávání dotazů a zpracování výsledků.
Hlavní kroky:
- Navázání spojení s databází pomocí balíčku, například
database/sqla odpovídajícího ovladače (napříkladpqpro PostgreSQL). - Spouštění SQL dotazů pro vkládání, aktualizaci, mazání nebo vybírání dat.
- Zpracování výsledků dotazů a jejich převod do potřebných datových struktur.
Příklad připojení a vybírání 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("Chyba při načítání uživatele:", err)
} else {
log.Println("Jméno uživatele:", name)
}
}
Tímto způsobem mikroslužba používá standardní knihovny a ovladače k interakci s databází.