Sokongan Oracle
Pangkalan data Oracle mempunyai kekhususan tertentu JFinal telah menyediakan beberapa sokongan tambahan untuk kekhususan ini untuk memudahkan majoriti pengguna Oracle. Berikut ialah contoh konfigurasi Oracle yang lengkap:
DemoConfig kelas awam memanjangkan JFinalConfig {
public void configPlugin(Plugin me) { C3p0Plugin cp = new C3p0Plugin(…);
//Configure Oracle driver.
DriverapC. jdbc.driver.OracleDriver"); me.add(cp);
ActiveRecordPlugin arp = new ActiveRecordPlugin(cp); me.add(arp);
//Configure Oracle dialect
arp.setDialect(new OracleDialect());
// Konfigurasikan nama atribut (nama medan) kilang bekas tidak sensitif huruf besar dan kecil arp.setContainerFactory(new CaseInsensitiveContainerFactory()); pangkalan data secara automatik akan menukar nama atribut (nama medan) kepada huruf besar, jadi anda perlu menentukan nama kunci primer secara manual dalam huruf besar, seperti: arp.addMaping("user", "ID", User.class). Jika anda mahu ActiveRecord menjadi tidak sensitif huruf besar kepada nama atribut (nama medan), anda boleh mencapainya dengan menetapkan CaseInsensitiveContainerFactory Dengan tetapan ini, arp.addMaping("user", "ID", User.class ) tidak diperlukan lagi.
Selain itu, Oracle tidak secara langsung menyokong kunci utama penambahan automatik, dan JFinal menyediakan penyelesaian yang mudah untuk ini. Terdapat dua langkah utama untuk Oracle menyokong kunci utama automatik: satu ialah mencipta jujukan, dan satu lagi ialah menggunakan jujukan ini dalam model Kaedah khusus adalah seperti berikut: public void configPlugin(Plugin me) { C3p0Plugin cp = new C3p0Plugin(…);
//Configure Oracle driver.
DriverapC. jdbc.driver.OracleDriver"); me.add(cp);
ActiveRecordPlugin arp = new ActiveRecordPlugin(cp); me.add(arp);
//Configure Oracle dialect
arp.setDialect(new OracleDialect());
// Konfigurasikan nama atribut (nama medan) kilang bekas tidak sensitif huruf besar dan kecil arp.setContainerFactory(new CaseInsensitiveContainerFactory()); pangkalan data secara automatik akan menukar nama atribut (nama medan) kepada huruf besar, jadi anda perlu menentukan nama kunci primer secara manual dalam huruf besar, seperti: arp.addMaping("user", "ID", User.class). Jika anda mahu ActiveRecord menjadi tidak sensitif huruf besar kepada nama atribut (nama medan), anda boleh mencapainya dengan menetapkan CaseInsensitiveContainerFactory Dengan tetapan ini, arp.addMaping("user", "ID", User.class ) tidak diperlukan lagi.
1: Buat jujukan melalui kaedah berikut . Dalam contoh ini, jujukan itu dinamakan: MY_SEQ
CIPTA URUTAN MY_SEQ PENINGKATAN OLEH 1
MINVALUE 1
MAXVALUE 999999999999999920;20 DENGAN
Pengguna pengguna = Pengguna baharu().set("id", "MY_SEQ.nextval").set("umur", 18); / Dapatkan nilai idCA
nce dibuat di atas dalam YourModel.set(… )
//Buat Pengguna dan gunakan urutannce dibuat di atas dalam YourModel.set(… )
Integer id = user.get( "id");
Penggunaan jujukan adalah sangat mudah, hanya yourModel.set(nama kunci utama, nama jujukan
+ “.nextval”
). + “.nextval”
Perhatikan bahawa akhiran ".nextval" di sini mestilah huruf kecil, OracleDialect peka huruf besar-besaran kepada nilai ini.