JFinal 獨創(chuàng) Db + Record 模式

Db 類及其配套的 Record 類,提供了在 Model 類之外更為豐富的數(shù)據(jù)庫操作功能。使用
Db 與 Record 類時,無需對數(shù)據(jù)庫表進行映射,Record 相當(dāng)于一個通用的 Model。以下為 Db +Record 模式的一些常見用法:

// 創(chuàng)建name屬性為James,age屬性為25的record對象并添加到數(shù)據(jù)庫
Record user = new Record().set("name", "James").set("age", 25);
Db.save("user", user);
// 刪除id值為25的user表中的記錄
Db.deleteById("user", 25);
// 查詢id值為25的Record將其name屬性改為James并更新到數(shù)據(jù)庫
user = Db.findById("user", 25).set("name", "James");
Db.update("user", user);
// 獲取user的name屬性
String userName = user.getStr("name");
// 獲取user的age屬性
Integer userAge = user.getInt("age");
// 查詢所有年齡大于18歲的user
List<Record> users = Db.find("select * from user where age > 18");
// 分頁查詢年齡大于18的user,當(dāng)前頁號為1,每頁10個user
Page<Record> userPage = Dbb.paginate(1, 10, "select *", "from user where 
age>?",18);
boolean succeed = Db.tx(new IAtom(){
public boolean run() throws SQLException {
int count = Db.update("update account set cash = cash - ? where
id = ?", 100, 123);
int count2 = Db.update("update account set cash = cash + ? where
id = ?", 100, 456);
return count == 1 && count2 == 1;
}});

以上兩次數(shù)據(jù)庫更新操作在一個事務(wù)中執(zhí)行,如果執(zhí)行過程中發(fā)生異常或者 run()方法返
回 false,則自動回滾事務(wù)。
摘自Jfinal手冊

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容