모델
Model은 ActiveRecord에서 가장 중요한 구성 요소 중 하나이며 MVC 패턴에서 모델 부분 역할을 합니다. 다음은
위 코드의 User는 Model을 상속받아 즉시 소유됩니다. 데이터베이스를 운영하는 다양한 편리한 방법. User에 선언된 dao 정적 개체는 쿼리 작업을 용이하게 하기 위해 정의되며 이 개체는 필요하지 않습니다. ActiveRecord 기반 모델은 속성, getter 및 setter 메서드, XML 구성, Annotation 구성을 정의할 필요가 없으므로 코드 양이 크게 줄어듭니다.
모델 정의 샘플 코드입니다.
public class User extends Model<User> {
public static final User dao = new User();
}
public static final User dao = new User();
}
다음은 모델의 몇 가지 일반적인 용도입니다.
//이름 속성이 James이고 연령 속성이 25인 사용자 개체를 생성하고 데이터베이스에 추가합니다.
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인 사용자를 쿼리하고 두 필드 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인 사용자를 쿼리하고 두 필드 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에 정의된 public static final User dao 객체는 전역적으로 공유되며 다음 용도로만 사용할 수 있습니다. 데이터베이스 쿼리이며 데이터를 포함하는 객체에는 사용할 수 없습니다. 데이터 전달은 new User().set(…)을 사용하여 구현되어야 합니다.