Junior — Middle
Kaip mikroservisas sąveikauja su duomenų baze, kad saugotų ir gautų duomenis?
sobes.tech AI
Atsakymas iš AI
„Go“ kalba mikroservisas sąveikauja su duomenų baze per vairuotojus arba ORM bibliotekas, kurios įgyvendina sąsają jungimuisi, užklausų vykdymui ir rezultatų apdorojimui.
Pagrindiniai žingsniai:
- Prisijungti prie duomenų bazės naudojant paketą, pvz.,
database/sqlir atitinkamą vairuotoją (pvz.,pqPostgreSQL atveju). - Vykdyti SQL užklausas duomenų įterpimui, atnaujinimui, ištrynimui ar pasirinkimui.
- Apdoroti užklausų rezultatus ir paversti juos į reikalingas duomenų struktūras.
Pavyzdys prisijungimo ir pasirinkimo iš 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("Klaida gaunant vartotoją:", err)
} else {
log.Println("Vartotojo vardas:", name)
}
}
Šiuo būdu mikroservisas naudoja standartines bibliotekas ir vairuotojus, kad bendrautų su duomenų baze.