MyBatis-Plus (se abre en ventana nueva) (MP para abreviar) es una herramienta de mejora para MyBatis (se abre en ventana nueva) Sobre la base de MyBatis, solo se realizan mejoras sin cambios, y nació para simplificar el desarrollo y mejorar la eficiencia.
¿Qué hay de la eficiencia de desarrollo del marco Mybatis? Siempre que necesitemos escribir un requisito de SQL, debemos realizar los siguientes pasos
La interfaz de Mapper proporciona un método abstracto
El archivo de configuración de mapeo correspondiente a la interfaz de Mapper proporciona etiquetas correspondientes y sentencias SQL
Confíe en el objeto de instancia de Mapper en Service
Llame al método en la instancia de Mapper
Depende del objeto de instancia de servicio en el controlador
Llame al método en la instancia de servicio. A través de los hallazgos anteriores, para un requisito de SQL, ya sea una sola tabla o varias tablas, debemos completar los pasos anteriores para realizar el desarrollo de los requisitos de SQL.
Sin embargo, en el desarrollo, algunas operaciones son de lógica común, que se pueden simplificar, por ejemplo:
Para dao, ¿puede el marco proporcionarnos un buen método abstracto Mapper de una sola tabla y la implementación de SQL correspondiente, sin la necesidad de que los programadores implementen estos?
Para los servicios, existe un marco que puede ayudarnos directamente a proporcionar algunos métodos abstractos de servicios y las implementaciones correspondientes, sin necesidad de que los programadores implementen estos.
Algunas otras operaciones requeridas en el desarrollo empresarial
De hecho, el marco central no ha cambiado, sigue siendo Mybatis, pero MybatisPlus encapsula y desarrolla Mybatis para que sea más útil y fácil de usar.
1.2 Características de MybatisPlus
Sin intrusión: solo se realizan mejoras sin cambios, y la introducción de la misma no afectará a los proyectos existentes
Baja pérdida: el CURD básico se inyectará automáticamente cuando se inicie, el rendimiento es básicamente sin pérdidas y la operación orientada a objetos se realiza directamente
Potentes operaciones CRUD: asignador general integrado y servicio general, la mayoría de las operaciones CRUD de una sola tabla se pueden realizar con solo una pequeña cantidad de configuración, y hay un poderoso constructor condicional
Admite llamada de formulario Lambda: a través de expresiones Lambda, es conveniente escribir varias condiciones de consulta, sin necesidad de preocuparse por errores tipográficos en el campo
Admite la generación automática de claves principales: admite hasta 4 estrategias de claves principales (incluido un generador de ID único distribuido - Secuencia), que se puede configurar libremente para resolver perfectamente el problema de la clave principal
Admite el modo ActiveRecord: admite la llamada de formulario ActiveRecord, la clase de entidad solo necesita heredar la clase Model para realizar potentes operaciones CRUD
Admite operaciones generales globales personalizadas: admite inyección de método general global (escribir una vez, usar en cualquier lugar)
Generador de código incorporado: use el código o el complemento Maven para generar rápidamente códigos de capa de mapeador, modelo, servicio y controlador, y soporte motores de plantillas.
Complemento de paginación incorporado: basado en la paginación física de MyBatis, los desarrolladores no necesitan preocuparse por operaciones específicas. Después de configurar el complemento, escribir paginación es equivalente a una consulta de lista ordinaria.
El complemento de paginación admite múltiples bases de datos: admite MySQL, MariaDB y otras bases de datos
Complemento de análisis de rendimiento incorporado: puede generar declaraciones SQL y su tiempo de ejecución. Se recomienda habilitar esta función durante el desarrollo y las pruebas, que pueden detectar rápidamente las consultas lentas.
Complemento de intercepción global incorporado: proporciona análisis inteligente y bloqueo de operaciones de eliminación y actualización en toda la tabla, y también puede personalizar las reglas de intercepción para evitar operaciones incorrectas
1.3 Modelo de arquitectura de MybatisPlus
Caso de inicio
2.1 Preparar el entorno de desarrollo relevante
IDEA
Cartero
Navicat/Sqlyog
MySQL 5.+
JDK 1.8
2.2 Construir proyecto springboot
2.3 Crear una base de datos
crear base de datosmybatisplus
Crear declaración de tabla
DROPTABLEIFEXISTS user;CREATETABLEuser(
id BIGINT(20)NOTNULLCOMMENT'主键ID',
name VARCHAR(30)NULLDEFAULTNULLCOMMENT'姓名',
age INT(11)NULLDEFAULTNULLCOMMENT'年龄',
email VARCHAR(50)NULLDEFAULTNULLCOMMENT'邮箱',PRIMARYKEY(id));