Jfinal之ActionRecord(下)

JFinal獨創的Db+Record模式

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

<span style="font-size:18px;">// 創建name屬性爲James,age屬性爲25的record對象並添加到數據庫 
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並更新到數據庫 
user = Db.findById("user", 25).set("name", "James"); 
Db.update("user", user); 
 
// 查詢id值爲25的user, 且僅僅取name與age兩個字段的值 
user = Db.findById("user", 25, "name, age"); 
// 獲取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,當前頁號爲1,每頁10個user 
Page<Record>  userPage  = Db.paginate(1, 10,  "select *",  "from user where 
age > ?", 18); </span>

  以下爲事物處理:
<span style="font-size:18px;">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; 
  }}); </span>



發佈了121 篇原創文章 · 獲贊 10 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章