Spécification ORM
1. [Obligatoire] Dans les requêtes de table, n'utilisez jamais * comme liste de champs de la requête. Les champs obligatoires doivent être clairement indiqués.
Instructions : 1) Augmentez le coût d'analyse de l'analyseur de requêtes. 2) L'ajout ou la soustraction de champs est susceptible d'être incohérent avec la configuration de resultMap.
2. [Obligatoire] L'attribut booléen de la classe POJO ne peut pas être ajouté avec is, et le champ de la base de données doit être ajouté avec is _ Il est requis pour effectuer un mappage entre les champs et les attributs dans resultMap.
Remarque : Voir la définition de la classe POJO et la définition du champ de base de données. Il est nécessaire d'ajouter un mappage dans sql.xml.
Instructions :
Configurez la relation de mappage pour découpler les champs de la classe DO pour une maintenance facile.
4. [Obligatoire] Veuillez faire attention à l'utilisation des paramètres dans la configuration XML : #{}, # param # N'utilisez pas ${}.
5. [Obligatoire] Le queryForList(String StatementName, int start, int size) fourni avec iBATIS n'est pas recommandé.
Explication : La méthode d'implémentation consiste à obtenir tous les enregistrements de l'instruction SQL correspondant à StatementName dans la base de données, puis à obtenir les sous-ensembles de début et de taille via la sous-Liste
est apparue en ligne pour cette raison.Exemple positif : Introduire #start#, #size#
Map<String, Object> map = new HashMap<String, Object>(); map.put("start", start); map.put("size", size);
6 [Obligatoire] Il n'est pas autorisé d'utiliser directement HashMap et Hashtable comme sortie du résultat de la requête défini dans sqlmap.xml.
, essayez de ne pas mettre à jour les champs non modifiés. Premièrement, c'est sujet aux erreurs ; deuxièmement, c'est inefficace ; troisièmement, binlog augmente le stockage.
9. [Référence] @ Transactional N'abusez pas des transactions. Les transactions affecteront le QPS de la base de données. De plus, lorsque des transactions sont utilisées, diverses solutions de restauration doivent être envisagées, notamment la restauration du cache, la restauration du moteur de recherche, la compensation des messages, la correction statistique, etc.
10. [Référence] compareValue dans < isEqual > est une constante qui est comparée à la valeur de l'attribut, généralement un nombre, indiquant que cette condition est appliquée lorsque < isNotEmpty > not null ; < isNotNull > signifie qu'il est exécuté lorsque la valeur n'est pas nulle.