Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 13726|Répondre: 0

[Source] les notes mybatis sont annotées via l’interface Mapper

[Copié le lien]
Publié sur 16/01/2019 13:00:53 | | | |
1. Méthodes de cartographie prises en charge par mybatis

Les méthodes de cartographie prises en charge par mybatis incluent mapper.xml fichiers basés sur XML et des classes d’interface mapper basées sur Java.
Il existe quatre principales annotations de méthodes d’interface : @Insert, @Delete, @Update et @Select

2. Comment cartographier à l’aide d’annotations d’interface

Les expériences suivantes sont toutes basées sur t_user tables et sont structurées comme suit :

2.1 Augmentation @Insert

Il existe essentiellement trois schémas pour cela, à savoir la désignation manuelle (couche application), la clé primaire auto-additionnelle (table unique de couche de données) et la clé primaire de sélection (table multiple de couche de données).

1. Spécifier manuellement la clé primaire à la couche application

La méthode manuelle ne traite pas la clé primaire différemment, et attribuera une valeur à la clé primaire lorsque la couche application génère l’objet avant l’insertion, ce qui ne diffère pas du champ normal lors de l’insertion.

Dans l’exemple ci-dessus, mybatis ne sait pas quel champ est la clé primaire, et id est le champ de clé primaire, mais il n’est pas traité différemment.

Notez que la méthode #{username} consiste à utiliser User comme contexte actuel, afin qu’en accédant aux attributs User, vous puissiez écrire directement le nom de l’attribut.

2. La table ajoute la clé primaire

La clé primaire auto-incrémentante correspond au remplissage de la clé primaire dans la configuration XML, un exemple simple :

Utilisez Option pour correspondre aux propriétés du set de balises select en XML, userGeneratordKeys pour indiquer que vous souhaitez utiliser une clé primaire auto-incrémentable, et keyProperty pour spécifier le nom du champ clé primaire.

La clé primaire auto-incrémentante utilise les fonctionnalités auto-incrémentables de la base de données sous-jacente.

3. Sélectionner la tonalité primaire

Sélectionnez la clé primaire pour générer une valeur à partir de la couche de données et utilisez cette valeur comme valeur de la clé primaire.


2.2 Supprimer @Delete

Lors de la suppression, il suffit d’écrire la condition dans la valeur de l’annotation @Delete, et de retourner un type int comme nombre d’enregistrements supprimés avec succès.


2.3 Changement @Update

Lors de la modification, il suffit d’écrire l’instruction SQL dans la valeur du @Update, puis de renvoyer un type int pour indiquer le nombre de lignes d’enregistrement modifiées.


2.4 Vérifier @Select

La requête est un peu plus compliquée, car la requête consiste à définir les champs trouvés sur l’objet, et il existe généralement trois façons :

1. Spécifier manuellement un alias dans l’instruction SQL pour qu’il corresponde

Lors de l’écriture d’instructions SQL, attribuez manuellement un alias à chaque champ pour correspondre aux attributs de l’objet, ce qui convient aux situations où le nom du champ de table et celui de l’attribut de l’objet sont très différents et où il n’y a pas beaucoup de champs de table.


2. Utiliser la transformation automatique de bosse de mybatis

mybatis propose une option appelée mapUnderscoreToCamelCase qui s’applique lorsque le nom du champ dans le tableau est identique au nom de l’attribut de l’objet, mais avec la différence entre l’écriture underscore et la « hump ».

Après avoir configuré mapUnderscoreToCamelCase, mybatis essaiera de convertir le sous-score en une bosse en définissant les données trouvées dans le ResultSet sur l’objet, puis assemblera l’ensemble devant pour définir les attributs.

Allumez la conversion :




Puis posez la question suivante :

En regardant le résultat imprimé, birth_day attributs sont remplis dans l’objet :



3. Utiliser ResultMap

Si le nom du champ de la table et celui de l’attribut de l’objet ne sont pas très similaires, et qu’il y a de nombreux champs dans la table, ResultMap doit être utilisé pour l’adaptation.


@Results correspond au ResultMap en XML, et vous pouvez spécifier un id pour celui-ci, qui peut servir à le référencer ailleurs, par exemple pour référencer les résultats ci-dessus :

Utilisez @ResultMap pour référencer un ResultMap existant, qui peut être défini en Java via des annotations @Results ou en XML avec des balises resultMap.

2.5 Code d’exemple

User.java


UserMapper.java

3. Résumé

Avantages d’utiliser des annotations d’interface :

1. Il est plus pratique et rapide d’écrire des instructions de correspondance

Inconvénients de l’utilisation d’annotations d’interface :

1. Il convient à des configurations relativement simples, et l’interface ne peut pas être réalisée lorsqu’elle est trop complexe.

2. Impossible d’utiliser SQL dynamique, un peu de mauvais goût.






Précédent:Invocation d’Esprits Démoniaques V4.1.8 est utilisée de manière discrète
Prochain:Outil de détection d’originalité de l’article Kirin v2.0 (supprimer les informations de contact de l’auteur)
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com