Rumah > Artikel > pembangunan bahagian belakang > ORM dalam Beego - menggunakan Xorm untuk menjadikan operasi pangkalan data lebih mudah
Beego ialah rangka kerja web bahasa Go sumber terbuka yang menyediakan banyak alatan dan perpustakaan yang mudah untuk mempercepatkan pembangunan web. Antaranya, perpustakaan ORM (Object Relational Mapping) adalah komponen yang sangat penting, yang membolehkan pembangun melakukan operasi data dengan lebih mudah. Dalam Beego, Xorm ialah perpustakaan operasi pangkalan data berasaskan ORM, yang sangat mudah dan cekap untuk digunakan. Artikel ini akan memperkenalkan cara menggunakan Xorm untuk mengendalikan pangkalan data.
1. Pengenalan kepada Xorm
Xorm ialah perpustakaan ORM berdasarkan bahasa Go, serupa dengan Hibernate atau MyBatis Java. Ia menyokong pelbagai pangkalan data hubungan, termasuk MySQL, PostgreSQL, SQLite, dll. Tidak seperti perpustakaan ORM bahasa Go yang lain, Xorm menggunakan mekanisme pantulan untuk memetakan hubungan antara objek dan jadual, menjadikannya lebih fleksibel dan mudah.
2. Pasang Xorm
Sebelum menggunakan Xorm, kita perlu memasangnya terlebih dahulu. Anda boleh menggunakan alat baris arahan Go untuk memasang Xorm:
go get xorm.io/xorm
3. Konfigurasikan Xorm
Menggunakan Xorm dalam Beego adalah sangat mudah Anda hanya perlu menentukan jenis pangkalan data, alamat pangkalan data, nama pengguna dan Kata laluan dan maklumat lain boleh:
# 配置数据库类型 db_driver = mysql # 配置数据库地址 db_address = root:password@/testdb?charset=utf8 # 配置数据库最大闲置连接数 db_max_idle_conn = 10 # 配置数据库最大连接数 db_max_open_conn = 100
4. Mengendalikan pangkalan data
Langkah pertama untuk menggunakan Xorm untuk mengendalikan pangkalan data adalah untuk menentukan struktur jadual pangkalan data dalam struktur, dan menggunakan tag tag untuk mengenal pasti hubungan pemetaan antara struktur dan jadual pangkalan data. Sebagai contoh, kami mempunyai jadual data bernama user
dengan struktur berikut:
CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `email` varchar(255) NOT NULL, `age` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Kemudian struktur yang kami tentukan ialah:
type User struct { Id int `xorm:"pk autoincr"` Name string `xorm:"varchar(255) notnull"` Email string `xorm:"varchar(255) notnull"` Age int `xorm:"int(11) notnull"` }
Sebelum mengendalikan pangkalan data, kita perlu mencipta enjin Xorm terlebih dahulu. Enjin adalah jambatan antara Xorm dan pangkalan data Kami menggunakannya untuk melaksanakan pelbagai operasi pangkalan data, seperti sisipan, pertanyaan, kemas kini dan pemadaman. Cara untuk mencipta enjin adalah seperti berikut:
import ( "xorm.io/xorm" "github.com/astaxie/beego" ) var ( engine *xorm.Engine ) func init() { dbDriver := beego.AppConfig.String("db_driver") dbAddress := beego.AppConfig.String("db_address") engine, err = xorm.NewEngine(dbDriver, dbAddress) if err != nil { beego.Error(err) } // 配置连接池 maxIdleConn := beego.AppConfig.DefaultInt("db_max_idle_conn", 10) maxOpenConn := beego.AppConfig.DefaultInt("db_max_open_conn", 100) engine.SetMaxIdleConns(maxIdleConn) engine.SetMaxOpenConns(maxOpenConn) }
Memasukkan data menggunakan Xorm adalah sangat mudah, cuma buat objek struktur dan tetapkan nilai, kemudian gunakan fungsi engine.Insert()
Itu sahaja:
func insertUser(user *User) error { _, err := engine.Insert(user) if err != nil { beego.Error(err) return err } return nil }
Ia juga sangat mudah untuk menggunakan Xorm untuk membuat pertanyaan data. Anda boleh menggunakan fungsi seperti engine.Where()
dan engine.And()
untuk menentukan syarat pertanyaan, dan anda juga boleh menggunakan engine.OrderBy()
untuk menentukan kaedah pengisihan. Hasil pertanyaan boleh diproses menggunakan fungsi seperti Find()
, Get()
dan Iterate()
:
func getUserByName(name string) (*User, error) { user := &User{} _, err := engine.Where("name = ?", name).Get(user) if err != nil { beego.Error(err) return nil, err } return user, nil } func getAllUsers() ([]*User, error) { users := make([]*User, 0) err := engine.Find(&users) if err != nil { beego.Error(err) return nil, err } return users, nil }
Mengemas kini data menggunakan Xorm juga sangat mudah , cuma Anda perlu mencipta objek struktur dan tetapkan nilai, kemudian gunakan fungsi engine.Id()
dan engine.Update()
:
func updateUser(user *User) error { _, err := engine.Id(user.Id).Update(user) if err != nil { beego.Error(err) return err } return nil }
Ia juga mudah untuk memadam data menggunakan Xorm . Anda boleh menggunakan fungsi engine.Id()
dan engine.Delete()
untuk menentukan data yang akan dipadamkan:
func deleteUser(id int) error { _, err := engine.Id(id).Delete(&User{}) if err != nil { beego.Error(err) return err } return nil }
5. Ringkasan
Xorm ialah ORM bahasa Go yang sangat mudah dan mudah digunakan perpustakaan. Ia menggunakan mekanisme pantulan untuk memetakan hubungan antara objek dan jadual pangkalan data, supaya pembangun tidak perlu menulis pernyataan SQL secara manual, menjadikan operasi pangkalan data lebih mudah dan lebih cekap. Menggunakan Xorm dalam Beego adalah sangat mudah. Hanya konfigurasikan maklumat pangkalan data dan ikuti proses di atas.
Atas ialah kandungan terperinci ORM dalam Beego - menggunakan Xorm untuk menjadikan operasi pangkalan data lebih mudah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!