Folletos de programación
Respuesta: MyBatisPlus puede ahorrarnos mucho tiempo de trabajo, ¡puede completar automáticamente todos los códigos CRUD!
Ventajas:
1. Fácil de usar y dominar.
2.sql está escrito en xml y se utiliza para la gestión y optimización unificadas.
3. Separar sql del código del programa.
4. Proporcionar etiquetas de mapeo para admitir el mapeo de relaciones de campos ORM entre objetos y bases de datos.
5. Proporcionar etiquetas de mapeo de relaciones de objetos para respaldar el establecimiento y mantenimiento de relaciones de objetos.
6. Proporcionar etiquetas xml para admitir la escritura de SQL dinámico.
MyBatis Plus (MP para abreviar) es una herramienta de mejora para MyBatis. Está basada en MyBatis y solo mejora pero no cambia. Nació para simplificar el desarrollo y mejorar la eficiencia.
Al igual que 1P, 2P en Contra, con amigos, la eficiencia se duplica.
Características:
No invasivo: solo fortalecimiento sin cambios, la introducción no afectará los proyectos existentes, suave como la seda.
Baja pérdida: el CURD básico se inyecta automáticamente al inicio, casi sin pérdida de rendimiento. Las poderosas operaciones CRUD pueden estar orientadas directamente a objetos: el mapeador universal integrado y el servicio universal solo requieren una pequeña cantidad de configuración. para implementar una sola tabla La mayoría de las operaciones CRUD, además de un potente constructor de condiciones, pueden satisfacer diversas necesidades de uso y admitir llamadas de formulario Lambda: se pueden escribir fácilmente varias condiciones de consulta a través de expresiones Lambda sin preocuparse por los errores ortográficos de los campos.
Admite la generación automática de componentes: admite hasta cuatro estrategias de clave principal (incluidas secuencias generadoras de ID únicas distribuidas), que se pueden configurar libremente para resolver perfectamente el problema de la clave principal.
Compatible con el modo ActiveRecord: admite llamadas de formulario ActiveRecord. Solo las clases de entidad que heredan clases de modelo pueden realizar potentes operaciones CRUD.
Admite operaciones universales globales personalizadas: admite inyección de métodos universales globales (escribe una vez, úsalo en cualquier lugar).
Generador de código integrado: utilice código o complemento Maven para generar rápidamente código de capa de asignador, modelo, servicio y controlador, motor de plantillas de soporte y hay muchas configuraciones personalizadas para que pueda usar el generador. Complemento de paginación: 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 equivale a una consulta de lista normal.
El complemento de paginación admite varias bases de datos: MySQL, MariaDB, Oracle, DB2, H2, HSQL, SQLite, Postgre, SQLServer y otras bases de datos.
Complemento de análisis de rendimiento integrado: puede generar declaraciones Sql y su tiempo de ejecución. Se recomienda habilitar esta función durante el desarrollo y las pruebas para identificar rápidamente consultas lentas.
Complemento de interceptación global integrado: proporciona análisis inteligente e interceptación de operaciones completas de eliminación y actualización de tablas, y también puede personalizar las reglas de interceptación para evitar operaciones incorrectas.
1.1, presenta las dependencias maven relacionadas de mybatis-plus.
Introducción de mybatis-plus en el iniciador de escenarios de arranque de primavera
Ps: recuerde que las dependencias maven de mybatis y mybatis-spring ya no pueden introducir archivos pom.xml. mybatis La documentación oficial de -plus lo ha dejado muy claro.
1.2, crear una tabla de datos
(1)Declaración SQL
(2)Estructura de la tabla de datos
1.3, crear un bean Java
Crear nuevas clases de entidad relacionadas basadas en la tabla de datos
1 paquete com.example.demo.pojo
1.4, configurar las propiedades de la aplicación
La fuente de datos utiliza druida
Antes del experimento crudo, compare brevemente mybatis y mybatis-plus.
2.1, Comparación entre mybatis y mybatis-plus
(1) Pregunta: Supongamos que ya tenemos una tabla tbl_Employee y la clase de entidad correspondiente Empleado, ¿qué debemos hacer? Implementar CRUD operaciones para la tabla tbl_employee?
(2) Método de implementación: según Mybatis, debe escribir la interfaz EmployeeMapper, escribir manualmente el archivo de mapeo EmployeeMapper.xml proporcionado por el método CRUD y escribir manualmente la declaración SQL correspondiente a cada método. Basado en Mybatis-plus, solo es necesario crear la interfaz EmployeeMapper. Y herede la interfaz BaseMapper. Eso es todo lo que necesitas hacer para usar mybatis-plus, ni siquiera necesitas crear un archivo de mapeo SQL.
2.2. Introducción a la interfaz BaseMapper
(1) ¿Cómo entender la interfaz principal BaseMapper?
Cuando se usa Mybatis-Plus, la clase de operación principal es la interfaz BaseMapper, que en última instancia es el mecanismo de implementación para la programación usando la interfaz Mybatis. De forma predeterminada, proporciona una serie de métodos básicos para agregar, eliminar, modificar y consultar. Los desarrolladores no necesitan escribir SQL para estas operaciones básicas (el mecanismo proporcionado por Mybatis es que los desarrolladores deben proporcionar declaraciones SQL en mapper.xml). En este caso, podemos suponer que Mybatis-Plus debe haber completado la operación de generación de declaraciones SQL del método proporcionado por la interfaz BaseMapper.
(2) ¿Qué métodos nos define la interfaz BaseMapper?
Código fuente de la interfaz BaseMapper:
(3)Comentarios utilizados comúnmente en MyBatis-plus 1
Debido a que el nombre de nuestra tabla de datos no coincide con el nombre de clase del clase de entidad, los nombres de los campos de la clase de entidad no corresponden a la tabla de datos, por lo que es necesario introducir las anotaciones de mybatis-plus.
Escribe la interfaz EmployeeMapper y hereda la interfaz BaseMapper.
Preparar el entorno del examen:
(1) Insertar
(2) Modificar
Declaración SQL impresa por la consola
¿Qué sucede si no configuramos los atributos de correo electrónico y género de la clase de entidad?
Declaración SQL de consola:
Obviamente, mybatis-plus ha hecho un juicio no vacío para nosotros. Si está vacío, el campo correspondiente no se actualizará de forma predeterminada. Piénselo, ¿es esto similar al SQL dinámico en Mybatis?
¿Qué beneficios aportará este tratamiento?
(3) Consulta
Método SelectById
Método SelectBatchIds
Ps: descubrí que la palabra clave in de sql en realidad se usa en este método de la capa inferior.
Método SelectByMap
⑷Delete
3. Tenemos que mencionar el contenedor-constructor condicional.
3.1. Introducción a los contenedores y subclases
(1) Envoltorios: construcción condicional de clases abstractas, la clase principal de nivel superior, los tres métodos proporcionados en la clase abstracta y otros métodos. .