Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Memasukkan Struct Secara Terus ke dalam Pangkalan Data PostgreSQL Menggunakan SQLx?

Bagaimanakah Saya Boleh Memasukkan Struct Secara Terus ke dalam Pangkalan Data PostgreSQL Menggunakan SQLx?

Linda Hamilton
Linda Hamiltonasal
2024-10-31 00:40:29705semak imbas

How Can I Directly Insert a Struct into a PostgreSQL Database Using SQLx?

Memasukkan Struct secara langsung ke dalam Pangkalan Data PostgreSQL

Pengenalan

Dalam senario anda, di mana struct anda mempunyai banyak medan, memasukkan data secara manual satu demi satu boleh membosankan. Artikel ini meneroka cara untuk memasukkan keseluruhan struct secara terus ke dalam pangkalan data PostgreSQL menggunakan perpustakaan "sqlx".

Menggunakan SQLx untuk Memasukkan Struct

Pustaka "sqlx" menyediakan cara yang mudah untuk berinteraksi dengan pangkalan data anda. Ia menyokong fungsi "NamedExec", yang membolehkan anda menghantar struct dengan mudah sebagai argumen untuk memasukkan data.

Mentakrifkan Teg Pangkalan Data

Untuk menggunakan "NamedExec", anda perlu menentukan tag "db" untuk setiap medan dalam struct anda. Teg ini menentukan nama lajur yang sepadan dalam jadual pangkalan data anda.

Contoh:

<code class="go">type ApplyLeave1 struct {
    LeaveId           int       `db:"leaveid"`
    EmpId             string    `db:"empid"`
    SupervisorEmpId   string    `db:"supervisorid"`
}</code>

Memasukkan Struktur

Setelah teg anda ditakrifkan, anda boleh menggunakan "NamedExec" untuk memasukkan data anda:

<code class="go">db, err := sqlx.Connect("postgres", "user=foo dbname=bar sslmode=disable")
if err != nil {
    log.Fatalln(err)
}

query := `INSERT INTO TABLENAME(leaveid, empid, supervisorid) 
          VALUES(:leaveid, :empid, :supervisorid)`

var leave1 ApplyLeave1
_, err = db.NamedExec(query, leave1)
if err != nil {
    log.Fatalln(err)
}</code>

Dengan menggunakan "NamedExec", anda boleh dengan mudah memasukkan keseluruhan struct ke dalam pangkalan data anda sekali gus, mengurangkan keperluan untuk sisipan manual berulang.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Struct Secara Terus ke dalam Pangkalan Data PostgreSQL Menggunakan SQLx?. 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