MyBatis-Plus (ouvre une nouvelle fenêtre) (MP en abrégé) est un outil d'amélioration de MyBatis (ouvre une nouvelle fenêtre) Sur la base de MyBatis, seules des améliorations sont apportées sans changement, et il est né pour simplifier le développement et améliorer l'efficacité.
Qu'en est-il de l'efficacité du développement à partir du framework Mybatis ? Chaque fois que nous devons écrire une exigence SQL, nous devons suivre les étapes suivantes
L'interface Mapper fournit une méthode abstraite
Le fichier de configuration de mappage correspondant à l'interface Mapper fournit les étiquettes et les instructions SQL correspondantes
S'appuyer sur l'objet d'instance Mapper dans Service
Appelez la méthode dans l'instance Mapper
Dépend de l'objet d'instance de service dans le contrôleur
Appelez la méthode dans l'instance de service Grâce aux résultats ci-dessus, pour une exigence SQL, qu'il s'agisse d'une table unique ou de plusieurs tables, nous devons suivre les étapes ci-dessus pour réaliser le développement des exigences SQL
Cependant, en développement, certaines opérations sont de logique commune, qui peuvent être simplifiées, par exemple :
Pour dao, le framework peut-il nous fournir une bonne méthode abstraite Mapper à table unique et l'implémentation SQL correspondante, sans que les programmeurs aient besoin de les implémenter
Pour les services, il existe un cadre qui peut directement nous aider à fournir des méthodes abstraites de services et les implémentations correspondantes, sans que les programmeurs aient besoin de les implémenter.
Quelques autres opérations requises dans le développement d'entreprise
En fait, le framework de base n'a pas changé, c'est toujours Mybatis, mais MybatisPlus encapsule et fait évoluer Mybatis pour le rendre plus utile et plus facile à utiliser.
1.2 Fonctionnalités de MybatisPlus
Pas d'intrusion : seules les améliorations sont apportées sans modification, et l'introduction de celle-ci n'affectera pas les projets existants
Faible perte: le CURD de base sera automatiquement injecté lors de son démarrage, les performances sont pratiquement sans perte et l'opération orientée objet est directement effectuée
Opérations CRUD puissantes : mappeur général intégré et service général, la plupart des opérations CRUD d'une seule table peuvent être réalisées avec seulement une petite quantité de configuration, et il existe un puissant constructeur conditionnel
Prise en charge de l'appel de formulaire Lambda : grâce aux expressions Lambda, il est pratique d'écrire diverses conditions de requête, pas besoin de s'inquiéter des fautes de frappe sur les champs
Prend en charge la génération automatique de clé primaire : prend en charge jusqu'à 4 stratégies de clé primaire (y compris un générateur d'ID unique distribué - Séquence), qui peuvent être librement configurées pour résoudre parfaitement le problème de clé primaire
Prise en charge du mode ActiveRecord : prise en charge de l'appel de formulaire ActiveRecord, la classe d'entité n'a besoin d'hériter que de la classe Model pour effectuer de puissantes opérations CRUD
Prise en charge des opérations générales globales personnalisées : prise en charge de l'injection de méthode générale globale (écrire une fois, utiliser n'importe où)
Générateur de code intégré : utilisez le code ou le plug-in Maven pour générer rapidement des codes de couches Mapper, Model, Service et Controller, et prendre en charge les moteurs de modèles.
Plug-in de pagination intégré : basé sur la pagination physique MyBatis, les développeurs n'ont pas besoin de se soucier d'opérations spécifiques. Après avoir configuré le plug-in, écrire la pagination équivaut à une requête de liste ordinaire
Le plug-in de pagination prend en charge plusieurs bases de données : prend en charge MySQL, MariaDB et d'autres bases de données
Plug-in d'analyse des performances intégré : il peut générer des instructions SQL et leur temps d'exécution. Il est recommandé d'activer cette fonction pendant le développement et les tests, ce qui permet de détecter rapidement les requêtes lentes.
Plug-in d'interception global intégré : Fournit une analyse intelligente et un blocage des opérations de suppression et de mise à jour sur l'ensemble de la table, et peut également personnaliser les règles d'interception pour éviter les mauvaises opérations
1.3 Modèle d'architecture de MybatisPlus
Cas de démarrage
2.1 Préparer l'environnement de développement pertinent
IDÉE
Facteur
Navicat/Sqlyog
MySQL 5.+
JDK 1.8
2.2 Construire le projet Springboot
2.3 Créer une base de données
créer une base de donnéesmybatisplus
Créer une instruction de table
DROPTABLEIFEXISTS user;CREATETABLEuser(
id BIGINT(20)NOTNULLCOMMENT'主键ID',
name VARCHAR(30)NULLDEFAULTNULLCOMMENT'姓名',
age INT(11)NULLDEFAULTNULLCOMMENT'年龄',
email VARCHAR(50)NULLDEFAULTNULLCOMMENT'邮箱',PRIMARYKEY(id));