Model


Model ialah salah satu komponen terpenting dalam ActiveRecord, ia bertindak sebagai bahagian Model dalam corak MVC. Berikut ialah

Kod contoh definisi model:

kelas awam Pengguna memanjangkan Model<Pengguna> {
Pengguna akhir statik awam dao = Pengguna baharu();
}
Pengguna dalam kod di atas dimiliki serta-merta dengan mewarisi Model. Banyak cara mudah untuk mengendalikan pangkalan data. Objek statik dao yang diisytiharkan dalam Pengguna ditakrifkan untuk memudahkan operasi pertanyaan, dan objek ini tidak diperlukan. Model berdasarkan ActiveRecord tidak perlu mentakrifkan sifat, kaedah pengambil dan penetap, konfigurasi XML dan konfigurasi Anotasi, yang sangat mengurangkan jumlah kod.

Berikut ialah beberapa kegunaan biasa Model:

//Buat objek Pengguna dengan atribut nama sebagai James dan atribut umur sebagai 25 dan tambahkannya pada pangkalan data
Pengguna baharu().set("nama", "James ").set ("umur", 25).save();

//Padam Pengguna dengan nilai id 25 User.dao.deleteById(25);

// Soal Pengguna dengan nilai id 25 dan tukarnya nama atribut kepada James Dan kemas kini kepada pangkalan data
User.dao.findByIdLoadColumns (25).set("name", "James").update();

// Tanya pengguna yang nilai idnya ialah 25, dan hanya ambil dua medan nama dan umur Nilai
Pengguna pengguna = User.dao.findByIdLoadColumns (25, "nama, umur");

// Dapatkan atribut nama pengguna
String userName = user.getStr("name");

// Dapatkan atribut umur pengguna
Integer userAge = user.getInt("age");

// Tanya semua pengguna yang berumur lebih daripada 18 tahun
Senaraikan<Pengguna> pilih * daripada pengguna yang berumur>18" );

//Pertanyaan halaman untuk pengguna yang berumur lebih daripada 18 tahun, nombor halaman semasa ialah 1, 10 pengguna setiap halaman
Halaman<Pengguna> userPage = User.dao.paginate(1, 10 , "pilih *", "dari pengguna di mana umur > ?", 18);


Nota istimewa: Objek dao Pengguna akhir statik awam yang ditakrifkan dalam Pengguna dikongsi secara global dan hanya boleh digunakan untuk pertanyaan pangkalan data dan tidak boleh digunakan untuk objek yang mengandungi data. Pembawaan data perlu dilaksanakan menggunakan User().set(…) baharu.