1. Qu'est-ce que Mybatis dynamique SQL
Lorsque nous voyons la dynamique, nous devons penser qu'il s'agit d'une instruction SQL qui peut être modifiée.
Dynamic SQL de MyBatis est basé sur les expressions OGNL, qui peuvent nous aider à implémenter facilement certaines logiques dans les instructions SQL.
2. Préparation avant d'utiliser MyBatis Dynamic SQL
un. Table de base de données
né Créer une classe
3. À l'aide de MyBatis Dynamic SQL, vous devez d'abord connaître certaines valeurs d'attribut
1. Insérer
SELECTKEY: Instruction SQL exécutée avant ou après l'instruction SQL
Keycolumn: nom ou alias de champ correspondant
KeyProperty: le nom d'attribut ou la valeur clé de la carte correspondant à la classe d'entité
Ordre: exécuter avant ou après l'instruction d'exécution
ResultType: le type de résultat de retour
La première méthode: l'insertion dynamique SQL la plus simple
Insérer dans les valeurs du cours (seq_course.nextval, # {Coursecode}, # {Coursename}) Sélectionnez max (id) currid à partir de courstest
Résultats des tests
La deuxième façon: si je ne veux pas insérer autant de champs et que je ne veux pas insérer le champ CourseName, alors la première voie n'est certainement pas possible.
Insérer dans le cours (id, cocode, CourseName) valeurs (seq_course.nextval, # {Coursecode}, # {Coursename})Tests et résultats
À partir de cela, nous pouvons voir que cette méthode peut être réalisée lorsque je ne veux pas insérer le champ Coursecode.
Maintenant, le titre est encore là. Que se passe-t-il si nous voulons transformer le dernier champ en vide, ou les deux champs en vide
Le dernier champ devient vide
Il semble y avoir une virgule derrière le premier point d'interrogation sur la console
Essayez les deux champs devenant vides
Il y a encore une virgule
La raison de la situation ci-dessus est que lorsque nous ne voulons pas insérer le champ, nous n'avons pas supprimé la virgule. Nous présentons maintenant la troisième méthode.
La troisième façon est de supprimer l'excès de virgules
Cette méthode doit introduire une garniture
Trim a également plusieurs propriétés
Préfixe: Ajouter le préfixe
Prefixoverrides: remplacer le préfixe
suffixe: ajouter du suffixe
suffixoverrides: remplacer le suffixe
ID, Coursecode, CoursenameseQ_Cème.NextVal, # {Coursecode}, # {Coursename}Regardez, le problème a été résolu
Lorsque nous travaillons sur des projets, nous insérons souvent des données dans la base de données. Parfois, nous voulons insérer plusieurs pièces en même temps. Alors, comment devrions-nous insérer plusieurs données à l'aide de MyBatis?
Ici, nous devons résoudre plusieurs problèmes
1. Comment copier la structure de la table
Créer un cours de table02 comme sélectionné * dans le cours
Cette déclaration est-elle très familière? Oui, le tableau Cours02 copie non seulement la structure du tableau de la table de cours, mais copie également le contenu de la table de cours.
2. Comment copier-nous uniquement la structure de la table de cours au lieu du contenu de la table de cours
Créer une table Course03 comme sélectionné * dans le cours où 1! = 1;
3. Donc, lors de l'insertion, est-ce la même chose que celle-ci?
Insérer dans le cours03 SELECT * dans le cours;
La réponse est la même
4. Comment insérer plusieurs déclarations
Insérer dans Course03Select '6', 'YC06', 'Structure de données 06' 'De Dual UnionsElect' 7 ',' YC07 ',' Data Structure 07 'de Dual UnionsElect' 8 ',' YC08 ',' Data Structure 08 'à partir de Dual Unionselect' 8 ',' YC08 '', 'Data Structure 08' à partir du double UnionsElect '8', ', `` YC08' ',' Data Structure 08 'à partir de Dual Unionselect' 8 ', `` YC08' ',' Data Structure 08 'à partir de Dual Unionselect' 8 ', `` YC08' ', «Data Structure 08» De Dual Unionselect `` 8' ', `` YC08'
Maintenant que l'instruction SQL est disponible, nous pouvons l'insérer dans le fichier de configuration
Insérer dans Courseselect # {Courses.id}, # {Courses.CoursEcode}, # {Courses.Coursename} de Dual2. Modifier
1. Utilisez la garniture. Comme mentionné précédemment, vous pouvez utiliser Trim to Defix en raison des suffixoverrides d'attribut
Mettre à jour le cours setCouReCode = # {CoursEcode}, Coursename = # {Coursename} où id = # {id}2. Utilisez le jeu, qui peut remplacer le réglage dans l'instruction, et supprimer également le suffixe.
Mettre à jour CourseCoursEcode = # {CoursEcode}, Coursename = # {Coursename} où id = # {id}3. Lors de la modification, nous apporterons également des modifications sélectives. Parfois, nous ne voulons pas modifier la valeur pour le rendre cohérent avec la valeur sans modification.
Choisir est équivalent à multiple si
Le premier équivaut à If, et le second est équivalent à autre
autrement équivaut à autre
Mettre à jour CourseCoursEcode = # {CoursEcode}, CoursEcode = CoursEcode, Coursename = # {Coursename}, Coursename = Coursename, où id = # {id}Ce qui précède est l'intégralité du contenu de MyBatis Dynamic SQL qui vous a été présenté. J'espère que ce sera utile à tous!