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)
}
}
Инчунин, микросервис бо истифода аз китобхонаҳо ва драйверҳои стандартӣ барои муошират бо базаи додаҳо кор мекунад.