Junior — Middle
Как микросервисът взаимодейства с базата данни за съхранение и извличане на данни?
sobes.tech AI
Отговор от AI
Микросервиз в 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)
}
}
По този начин, микросервисът използва стандартни библиотеки и драйвери за взаимодействие с базата данни.