Junior — Middle
Kako mikroservis komunicira sa bazom podataka za skladištenje i preuzimanje podataka?
sobes.tech АИ
Одговор од АИ
Микросервис у Go-у комуницира са базом података преко драйвера или ORM библиотека које имплементирају интерфејс за повезивање, извршавање упита и обраду резултата.
Главни кораци:
- Успостављање везе са базом података коришћењем пакета, нпр.
database/sqlи одговарајућег драйвера (нпр.pqза PostgreSQL). - Извршавање SQL упита за уметање, ажурирање, брисање или избор података.
- Обрада резултата упита и њихово претварање у потребне структуре података.
Пример повезивања и избора из 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("Грешка при преузимању корисника:", err)
} else {
log.Println("Име корисника:", name)
}
}
Овим начином, микросервис користи стандардне библиотеке и драйвере за интеракцију са базом података.