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!