Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan ORM dalam Go?

Bagaimana untuk menggunakan ORM dalam Go?

PHPz
PHPzasal
2023-05-11 15:25:361506semak imbas

Apabila bahasa Go menjadi semakin popular, semakin ramai pembangun mula menggunakan Go untuk membina aplikasi web. Dalam aplikasi web, pangkalan data adalah komponen yang tidak dapat dielakkan. Go mempunyai banyak rangka kerja ORM yang popular, yang lebih popular ialah GORM, XORM dan Beego ORM. Artikel ini akan memperkenalkan secara terperinci cara menggunakan ORM dalam Go.

1. Apakah itu ORM?

ORM bermaksud Pemetaan Perkaitan Objek, yang diterjemahkan ke dalam bahasa Cina sebagai Pemetaan Perhubungan Objek Ia adalah teknologi pengaturcaraan. Rangka kerja ORM boleh merangkum operasi pangkalan data dalam cara berorientasikan objek, membolehkan kami melaksanakan operasi pangkalan data melalui objek tanpa mengambil berat tentang butiran asas seperti pernyataan SQL.

2. Kelebihan menggunakan ORM

Kelebihan utama menggunakan ORM adalah seperti berikut:

(1) Meningkatkan kecekapan pembangunan: Rangka kerja ORM menyediakan satu set API yang mudah , pembangun boleh bermula dengan cepat dan mengelak daripada menulis pernyataan SQL yang panjang, menjimatkan banyak masa dan tenaga.

(2) Tingkatkan kebolehgunaan semula: ORM merangkum pangkalan data dan boleh meringkaskan operasi pangkalan data kepada beberapa fungsi boleh guna semula, yang boleh meningkatkan kebolehgunaan semula kod dengan banyak.

(3) Tingkatkan kebolehselenggaraan: Menggunakan rangka kerja ORM boleh menjadikan kod lebih mudah dibaca dan lebih mudah diselenggara.

3. Gunakan GORM

GORM ialah salah satu rangka kerja ORM yang paling popular dalam bahasa Go Ia menyepadukan banyak ciri berkuasa, membolehkan kami membina dan menyelenggara aplikasi pangkalan data. Di bawah, kami akan memperkenalkan cara menggunakan GORM dalam Go.

(1) Pasang GORM

Mula-mula, kita perlu memasang GORM dan pemacu pangkalan data yang sepadan. Jalankan arahan berikut dalam terminal:

go get -u gorm.io/gorm
go get -u gorm.io/driver/mysql

(2) Sambung ke pangkalan data

Dalam GORM, kita perlu membuat sambungan ke pangkalan data terlebih dahulu. Kita boleh membuat sambungan dengan mengkonfigurasi rentetan sambungan. Contohnya:

import (
    "gorm.io/gorm"
    "gorm.io/driver/mysql"
)

func main() {
    dsn := "user:password@tcp(localhost:3306)/db_name?charset=utf8mb4&parseTime=True&loc=Local"
    db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
    if err != nil {
        panic("failed to connect database")
    }
    defer db.Close()
}

Antaranya, dsn ialah rentetan sambungan pangkalan data MySQL, kita perlu menggantikannya dengan maklumat sambungan pangkalan data kita sendiri, seperti: nama pengguna, kata laluan, nama hos, nombor port, nama pangkalan data, dll.

(3) Tentukan model

Apabila menggunakan GORM, kita perlu memetakan objek ke jadual pangkalan data, dan kita boleh mencapainya dengan mentakrifkan struktur. Contohnya:

type User struct {
    gorm.Model //gorm.Model是GORM提供的一个模型基类,包含了一些模型常用的字段,如:ID、CreatedAt、UpdatedAt、DeletedAt等
    Name     string `gorm:"column:name"`
    Age      int    `gorm:"column:age"`
}

Dalam kod di atas, kami mentakrifkan struktur Pengguna dan memetakannya ke jadual pengguna dalam pangkalan data. Ambil perhatian bahawa kami menggunakan teg gorm:"column:name" untuk mentakrifkan nama medan yang sepadan dalam pangkalan data.

(4) operasi CRUD

Dalam GORM, kita boleh menggunakan kaedah berikut untuk melaksanakan operasi CRUD:

Buat: Masukkan rekod baharu

func CreateUser(user *User) (err error) {
    err = db.Create(user).Error
    return err
}

Baca: Rekod pertanyaan

func GetUserById(id int64) (user *User, err error) {
    user = new(User)
    result := db.Where("id = ?", id).First(user)
    if result.Error != nil {
        err = result.Error
        return nil, err
    }
    return user, nil
}

Kemas kini: Kemas kini rekod

func UpdateUserAge(id int64, age int) (err error) {
    err = db.Model(&User{}).Where("id = ?", id).Update("age", age).Error
    return err
}

Padam: Padam rekod

func DeleteUser(id int64) (err error) {
    err = db.Delete(&User{}, id).Error
    return err
}

4 Ringkasan

Artikel ini terutamanya memperkenalkan cara menggunakan Go bahasa Gunakan rangka kerja ORM. Rangka kerja ORM menyediakan cara yang mudah dan intuitif untuk mengendalikan pangkalan data, yang boleh meningkatkan kecekapan pembangunan dan kebolehgunaan semula kod dengan banyak. Apabila menggunakan rangka kerja ORM, kita perlu memberi perhatian kepada mentakrifkan model dan menggunakan tag untuk memetakan hubungan antara model dan pangkalan data. Akhir sekali, kami memperkenalkan operasi CRUD yang biasa digunakan dalam GORM Kami berharap artikel ini dapat membantu semua orang menggunakan rangka kerja ORM dengan lebih baik untuk membangunkan aplikasi web.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan ORM dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn