Mod Db + Rakam asal JFinal


Kelas Db dan kelas Rekod sokongannya menyediakan fungsi operasi pangkalan data yang lebih kaya sebagai tambahan kepada kelas Model. Apabila menggunakan kelas Db dan Rekod, tidak perlu memetakan jadual pangkalan data adalah bersamaan dengan Model umum. Berikut ialah beberapa kegunaan biasa bagi mod Db + Record:

// Cipta objek rekod dengan atribut nama sebagai James dan atribut umur sebagai 25 dan tambahkannya pada pangkalan data
Record user = new Record().set("name ", "James ").set("age", 25); Db.save("user", user);

//Padam rekod dalam jadual pengguna dengan nilai id 25
Db.deleteById("user ", 25);

// Tanya Rekod dengan nilai id 25, tukar atribut namanya kepada James dan kemas kini kepada pengguna pangkalan data = Db.findById("user", 25).set("name", "James "); Db.update( "pengguna", pengguna);

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

// Tanya semua pengguna yang berumur lebih daripada 18 tahun
Senaraikan<Rekod> pengguna = Db.find("pilih * daripada pengguna di mana umur > 18");

/ / Pertanyaan pengguna yang berumur lebih daripada 18 tahun dalam halaman, halaman semasa Bilangan adalah 1, 10 pengguna setiap halaman
Halaman<Rekod> penggunaPage = Db.paginate(1, 10, "pilih *", "dari pengguna di mana umur > ; ?", 18);

Berikut ialah contoh pemprosesan transaksi :

boolean berjaya = Db.tx(New IAtom(){
public boolean run() throws SQLException {
int count = Db.update ("kemas kini set akaun tunai = tunai - ? di mana id = ?", 100, 123);
int count2 = Db.update("kemas kini set akaun tunai = tunai + ? di mana id = ?", 100, 456);
return count == 1 && count2 == 1;
}});

Dua operasi kemas kini pangkalan data di atas dilaksanakan dalam satu transaksi Jika pengecualian berlaku semasa pelaksanaan atau kaedah invoke() mengembalikan palsu, transaksi akan menjadi secara automatik berguling ke belakang.