Modèle


Model est l'un des composants les plus importants d'ActiveRecord, il fait office de partie modèle dans le modèle MVC. Voici un exemple de code de définition de modèle :

public class User extends Model<User> {
public static final User dao = new User();
}

L'utilisateur dans le code ci-dessus appartient immédiatement à l'héritier du modèle. De nombreuses façons pratiques d'exploiter la base de données. L'objet statique dao déclaré dans User est défini pour faciliter les opérations de requête, et cet objet n'est pas nécessaire. Les modèles basés sur ActiveRecord n'ont pas besoin de définir de propriétés, de méthodes getter et setter, de configuration XML et de configuration d'annotation, ce qui réduit considérablement la quantité de code.
Voici quelques utilisations courantes du modèle :

//Créez un objet utilisateur avec l'attribut name comme James et l'attribut age comme 25 et ajoutez-le à la base de données
new User().set("name", "James ").set ("age", 25).save();

//Supprimez l'utilisateur avec la valeur d'identifiant 25 User.dao.deleteById(25);

// Interrogez l'utilisateur avec la valeur d'identifiant 25 et modifiez son attribut name à James Et mise à jour de la base de données
User.dao.findByIdLoadColumns (25).set("name", "James").update();

// Interrogez l'utilisateur dont la valeur d'identifiant est 25 et ne prenez que les deux champs name et age La valeur de
User user = User.dao.findByIdLoadColumns (25, "name, age");

// Obtenir l'attribut de nom de l'utilisateur
String userName = user.getStr("name");

// Obtenez l'attribut d'âge de l'utilisateur
Integer userAge = user.getInt("age");

// Interrogez tous les utilisateurs âgés de plus de 18 ans
List<User> users = User.dao.find(" select * from user which age>18" );

//Requête de pagination pour les utilisateurs de plus de 18 ans, le numéro de page actuel est de 1, 10 utilisateurs par page
Page<User> userPage = User.dao.paginate(1, 10 , "select *", "from user which age > ?", 18);


Note spéciale : L'objet dao User final statique public défini dans User est globalement partagé et ne peut être utilisé que pour requêtes de base de données et ne peut pas être utilisé pour des objets portant des données. Le transport des données doit être implémenté à l’aide du new User().set(…).