Présentation de MyBatis-Plus et mise en route

Présentation de MyBatis-Plus et mise en route

1. Introduction

Qu'est-ce que c'est? MyBatis est destiné à simplifier les opérations JDBC! Simplifiez MyBatis!

Site officiel
Insérez la description de l'image ici
Insérez la description de l'image ici
Insérez la description de l'image ici

2. Caractéristiques

  • Aucune intrusion : seulement améliorer et ne pas changer, son introduction n'affectera pas le projet existant, il est aussi lisse que de la soie
  • Faible perte : le CURD de base sera automatiquement injecté au démarrage, les performances sont essentiellement sans perte, fonctionnement direct orienté objet
  • Opérations CRUD puissantes : mappeur général intégré, service général, seule une petite quantité de configuration peut réaliser la plupart des
    opérations CRUD d'une seule table et un générateur de conditions plus puissant pour répondre à divers besoins d'utilisation
  • Prise en charge de l'appel de formulaire Lambda : grâce aux expressions Lambda, vous pouvez facilement écrire toutes sortes de conditions de requête, pas besoin de vous soucier d'écrire de mauvais 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 configurées librement, ce qui résout parfaitement le problème de clé primaire
  • Prise en charge du mode ActiveRecord : prise en charge de l'appel de formulaire ActiveRecord, les classes d'entité n'ont besoin que d'hériter 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 (écriture unique, utilisation n'importe où)
  • Générateur de code intégré : utilisez le code ou le plug-in Maven pour générer rapidement le mappeur, le modèle, le service, le
    code de couche contrôleur , le moteur de modèle de prise en charge et d'autres configurations personnalisées à utiliser
  • 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, l'écriture de pagination équivaut à une requête de liste ordinaire
  • Le plugin de pagination prend en charge plusieurs bases de données : prend en charge MySQL, MariaDB, Oracle, DB2, H2, HSQL, SQLite, Postgre, SQLServer et d'autres bases de données
  • Plug-in d'analyse des performances intégré : l'instruction SQL et son temps d'exécution peuvent être générés. Il est recommandé d'activer cette fonction pendant le développement et les tests pour détecter rapidement les requêtes lentes
  • Plug-in d'interception globale intégré : fournit une analyse intelligente et le blocage des opérations de suppression et de mise à jour de l'ensemble de la table, et peut également personnaliser les règles d'interception pour éviter les mauvaises opérations

Trois, démarrage rapide

Adresse: https://mp.baomidou.com/guide/quick-start.html Projet d'initialisation

Étapes:
1. Créez la base de données mybatis_plus
2. Créez la table utilisateur

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. Écrivez le projet et initialisez le projet! Utilisez SpringBoot pour initialiser!
4. Importer les dépendances

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>

PrintempsMVC

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

注意: Nous utilisons mybatis-plus pour nous faire économiser beaucoup de code. Après avoir introduit MyBatis-Plus, veuillez ne pas introduire à nouveau MyBatis et MyBatis-Spring pour éviter les problèmes causés par les différences de version.

5. Connectez-vous à la base de données! Cette étape est la même 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

Méthode traditionnelle domain-dao (se connecter à mybatis, configurer le fichier mapper.xml) -service-controller

6. Après avoir utilisé mybatis-plus

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

注意: Nous devons analyser toutes les interfaces sous notre package mapper sur la classe de démarrage principale @MapperScan ("com.latte.mapper")

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

Insérez la description de l'image ici
1. Qui nous a aidés à écrire SQL? MyBatis-Plus a été écrit

2. D'où vient la méthode? MyBatis-Plus a été écrit

Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/qq_43803285/article/details/114534082
conseillé
Classement