モデル
モデルは ActiveRecord の最も重要なコンポーネントの 1 つであり、MVC パターンのモデル部分として機能します。以下は
上記のコードのUserは、継承したModelによって即座に所有されます。データベースを操作するための便利な方法が多数あります。 User で宣言された dao 静的オブジェクトはクエリ操作を容易にするために定義されており、このオブジェクトは必須ではありません。 ActiveRecord に基づくモデルでは、プロパティ、ゲッターおよびセッター メソッド、XML 構成、およびアノテーション構成を定義する必要がないため、コードの量が大幅に削減されます。
Model定義のサンプルコードです:
public class User extends Model<User> {
public static Final User dao = new User();
}
public static Final User dao = new User();
}
以下は Model の一般的な使用法です:
//name 属性を James、age 属性を 25 として持つ User オブジェクトを作成し、データベースに追加します
new User().set("name", "James ").set ("age", 25).save();
// ID 値 25 のユーザーを削除 User.dao.deleteById(25);
// ID 値 25 のユーザーをクエリし、そのユーザーを変更しますname 属性を James に設定し、データベースを更新します
User.dao.findByIdLoadColumns (25).set("name", "James").update();
// ID 値が 25 のユーザーをクエリし、のみを取得します2 つのフィールド name と age
User の値 user = User.dao.findByIdLoadColumns (25, "name, age");
// ユーザーの名前属性を取得します
String userName = user.getStr("name");
// ユーザーの年齢属性を取得します
Integer userAge = user.getInt("age");
// 18 歳以上のすべてのユーザーをクエリします
List<User> users = User.dao.find(" select * from user where age>18" );
//18 歳以上のユーザーのページング クエリ、現在のページ番号は 1、ページごとに 10 ユーザー
Page<User> userPage = User.dao.paginate(1, 10 , "select *", "from user where age > ?", 18);
new User().set("name", "James ").set ("age", 25).save();
// ID 値 25 のユーザーを削除 User.dao.deleteById(25);
// ID 値 25 のユーザーをクエリし、そのユーザーを変更しますname 属性を James に設定し、データベースを更新します
User.dao.findByIdLoadColumns (25).set("name", "James").update();
// ID 値が 25 のユーザーをクエリし、のみを取得します2 つのフィールド name と age
User の値 user = User.dao.findByIdLoadColumns (25, "name, age");
// ユーザーの名前属性を取得します
String userName = user.getStr("name");
// ユーザーの年齢属性を取得します
Integer userAge = user.getInt("age");
// 18 歳以上のすべてのユーザーをクエリします
List<User> users = User.dao.find(" select * from user where age>18" );
//18 歳以上のユーザーのページング クエリ、現在のページ番号は 1、ページごとに 10 ユーザー
Page<User> userPage = User.dao.paginate(1, 10 , "select *", "from user where age > ?", 18);
特記事項: User で定義されたパブリック静的最終 User dao オブジェクトはグローバルに共有されており、次の目的でのみ使用できます。データベース クエリに使用でき、データを保持するオブジェクトには使用できません。データの伝達は new User().set(…) を使用して実装する必要があります。