模型
Model 是 ActiveRecord 中最重要的元件之一,它充當 MVC 模式中的 Model 部分。以下是
'如果);
-
以上程式碼中的User 透過繼承Model,便立即擁有的眾多方便的操作資料庫的方法。在 User 中聲明的 dao 靜態物件是為了方便查詢操作而定義的,該物件並不是必須的。基於 ActiveRecord 的 Model 無需定義屬性,無需定義 getter、setter 方法,無需 XML 配置,無需 Annotation 配置, 大幅降低了程式碼量。
以下為Model 的一些常見用法:
// 建立name屬性為James,age屬性為25的User物件並新增至資料庫
new User(). set("name", "James").set("age", 25).save();
// 刪除id值為25的User User.dao.deleteById(25);
// 查詢id值為25的User將其name屬性改為James並更新至資料庫
User.dao.findByIdLoadColumns (25).set("name", "James").update() ;
// 查詢id值為25的user, 且僅取name與age兩個欄位的值
User user = User.dao.findByIdLoadColumns (25, "name, age");
// 取得user的name屬性String userName = user.getStr("name");
#################特別注意###:User 中定義的public static final User dao 物件是全域共享的,只能用於資料庫查詢, 不能用於資料承載物件。資料承載需要使用 new User().set(…)來實作。 ##########Model 定義範例程式碼:
public class User extends Model<User> {
public static final User dao = new #User();
public static final User dao = new #User();
'如果);
-
以上程式碼中的User 透過繼承Model,便立即擁有的眾多方便的操作資料庫的方法。在 User 中聲明的 dao 靜態物件是為了方便查詢操作而定義的,該物件並不是必須的。基於 ActiveRecord 的 Model 無需定義屬性,無需定義 getter、setter 方法,無需 XML 配置,無需 Annotation 配置, 大幅降低了程式碼量。
以下為Model 的一些常見用法:
// 建立name屬性為James,age屬性為25的User物件並新增至資料庫
new User(). set("name", "James").set("age", 25).save();
// 刪除id值為25的User User.dao.deleteById(25);
// 查詢id值為25的User將其name屬性改為James並更新至資料庫
User.dao.findByIdLoadColumns (25).set("name", "James").update() ;
// 查詢id值為25的user, 且僅取name與age兩個欄位的值
User user = User.dao.findByIdLoadColumns (25, "name, age");
// 取得user的name屬性
// 取得user的age屬性
Integer userAge = user.getInt( "age");
// 查詢所有年齡大於18歲的userList<User> users = User.dao.find("select * from user where age>18"); // 分頁查詢年齡大於18的user,目前頁號為1,每頁10個userPage<User> userPage = User.dao.paginate(1, 10, "select *", .dao.paginate(1, 10, "select *", ." from user where age > ?", 18);