Descripción general de MyBatis-Plus y primeros pasos

Descripción general de MyBatis-Plus y primeros pasos

1. Introducción

¿Qué es? ¡MyBatis está destinado a simplificar las operaciones de JDBC! ¡Simplifique MyBatis!

Página web oficial
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

2. Características

  • Sin intrusión : solo mejore y no cambie, la introducción no afectará el proyecto existente, es tan suave como la seda
  • Pérdida baja : CURD básico se inyectará automáticamente al inicio, el rendimiento es básicamente sin pérdida, operación directa orientada a objetos
  • Potentes operaciones CRUD : mapeador general integrado, servicio general, solo una pequeña cantidad de configuración puede realizar la mayoría de las
    operaciones CRUD de una sola tabla y un generador de condiciones más potente para satisfacer diversas necesidades de uso
  • Admite llamadas de formulario Lambda : a través de expresiones Lambda, puede escribir fácilmente todo tipo de condiciones de consulta, sin necesidad de preocuparse por escribir campos incorrectos
  • Admite la generación automática de clave primaria : admite hasta 4 estrategias de clave primaria (incluida una secuencia de generador de ID única distribuida), que se puede configurar libremente, lo que resuelve perfectamente el problema de la clave primaria
  • Admite el modo ActiveRecord : admite la llamada al formulario ActiveRecord, las clases de entidad solo necesitan heredar la clase Model para realizar potentes
    operaciones CRUD
  • Admite operaciones generales globales personalizadas : admite la inyección de métodos generales globales (escribe una vez, usa en cualquier lugar)
  • Generador de código incorporado : use el código o el complemento Maven para generar rápidamente Mapper, Model, Service, Controller
    layer code, support template engine y más configuraciones personalizadas para su uso.
  • 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 normal.
  • El complemento de paginación admite múltiples bases de datos : admite MySQL, MariaDB, Oracle, DB2, H2, HSQL, SQLite, Postgre, SQLServer y otras bases de datos
  • Complemento de análisis de rendimiento incorporado : se puede generar una declaración SQL y su tiempo de ejecución. Se recomienda habilitar esta función durante el desarrollo y las pruebas para detectar rápidamente consultas lentas
  • Complemento de interceptación global incorporado : proporciona un análisis inteligente y bloqueo de las operaciones de eliminación y actualización de toda la tabla, y también puede personalizar las reglas de interceptación para evitar errores de operación.

Tres, inicio rápido

Dirección: https://mp.baomidou.com/guide/quick-start.html Proyecto de inicialización

Pasos:
1. Cree la base de datos mybatis_plus
2. Cree la tabla de usuarios

DROP TABLE IF EXISTS user;

CREATE TABLE user
(
	id BIGINT(20) NOT NULL COMMENT '主键ID',
	name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
	age INT(11) NULL DEFAULT NULL COMMENT '年龄',
	email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
	PRIMARY KEY (id)
);

DELETE FROM user;

INSERT INTO user (id, name, age, email) VALUES
(1, 'Jone', 18, '[email protected]'),
(2, 'Jack', 20, '[email protected]'),
(3, 'Tom', 28, '[email protected]'),
(4, 'Sandy', 21, '[email protected]'),
(5, 'Billie', 24, '[email protected]');
-- 真实开发中,version(乐观锁)、deleted(逻辑删除)、gmt_create、gmt_modified

3. ¡Escriba el proyecto e inicialice el proyecto! ¡Utilice SpringBoot para inicializar!
4. Importar dependencias

SpringBoot:

<!-- 数据库驱动 --> 
         <dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<!-- mybatis-plus --> <!-- mybatis-plus 是自己开发,并非官方的! --> 
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-boot-starter</artifactId>
			<version>3.4.2</version>
		</dependency>
	<!-- lombok -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.16</version>
			<scope>provided</scope>
		</dependency>

SpringMVC

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus</artifactId>
    <version>3.4.2</version>
</dependency>

注意: Usamos mybatis-plus para ahorrarnos mucho código. Después de introducir MyBatis-Plus, no vuelva a introducir MyBatis y MyBatis-Spring para evitar problemas causados ​​por diferencias de versión.

5. ¡Conéctese a la base de datos! ¡Este paso es el mismo que mybatis!

# mysql 5  驱动不同 com.mysql.jdbc.Driver
# mysql 8  驱动不同com.mysql.cj.jdbc.Driver、需要增加时区的配置  serverTimezone=GMT%2B8
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mybatisplus?useSSl=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
    username: root
    password: "081020"
    driver-class-name: com.mysql.cj.jdbc.Driver

Forma tradicional domain-dao (conectarse a mybatis, configurar el archivo mapper.xml) -service-controller

6. Después de usar mybatis-plus

  • dominio
@Data
@AllArgsConstructor 
@NoArgsConstructor 
public class User {
    
    
    private Long id;
    private String name;
    private Integer age;
    private String email;
}
  • interfaz de mapeador
// 在对应的Mapper上面继承基本的类 BaseMapper 
@Repository // 代表持久层 
public interface Usermapper extends BaseMapper<User> {
    
    
 // 所有的CRUD操作都已经编写完成了   
  // 你不需要像以前的配置一大堆文件了
}

注意: Necesitamos escanear todas las interfaces bajo nuestro paquete de mapeador en la clase de inicio principal @MapperScan ("com.latte.mapper")

  • Prueba en la clase de prueba
@Autowired
 // 继承了BaseMapper,所有的方法都来自己父类    
 // 我们也可以编写自己的扩展方法! 
	private Usermapper usermapper;
	@Test
	void contextLoads() {
    
    
	 // 参数是一个 Wrapper ,条件构造器,这里我们先不用 null 
	   // 查询全部用户 
		List<User> users = usermapper.selectList(null);
		for (User user : users) {
    
    
			System.out.println(user);
		}
	}
  • resultado

Inserte la descripción de la imagen aquí
1. ¿Quién nos ayudó a escribir SQL? MyBatis-Plus ha sido escrito

2. ¿De dónde vino el método? MyBatis-Plus ha sido escrito

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_43803285/article/details/114534082
Recomendado
Clasificación