Mybatis-Plus

155 阅读3分钟

MyBatis-Plus(简称 MP)是一个基于 MyBatis 的开源增强工具库,它旨在简化开发人员使用 MyBatis 进行数据库访问的流程,并提供了很多有用的功能和增强特性。

  1. CRUD 操作的简化:
    MyBatis-Plus 提供了丰富的 API,使得进行数据库的增删改查操作变得更加简单。它通过扩展 MyBatis 的 BaseMapper 接口,为每个实体类提供了诸如插入、更新和删除等基本操作的实现方法,无需编写繁琐的 SQL 语句。
  2. 条件构造器:
    MyBatis-Plus 提供了强大的条件构造器,可以通过链式调用的方式构建复杂的查询条件。使用条件构造器,你可以方便地添加条件、排序规则和分页信息,构建出灵活的条件查询语句。
  3. 分页查询:
    MyBatis-Plus 内置了分页查询功能,支持多种数据库(如 MySQL、Oracle 等),以及基于物理分页和内存分页的方式。使用分页功能,你可以轻松地进行数据的分页查询操作。
  4. 通用 Mapper:
    MyBatis-Plus 还提供了通用 Mapper 功能,它通过简单的配置即可实现单表的基本 CRUD 操作。通用 Mapper 会根据实体类的字段自动生成对应的 SQL 语句,大大减少了手写 SQL 的工作量。
  5. 自动生成代码:
    MyBatis-Plus 支持根据数据库表结构自动生成实体类、Mapper 接口和 XML 映射文件的代码。通过简单的配置,你可以快速生成基础的 CRUD 操作代码,节省了手动编写这些代码的时间和精力。
  6. 增强的 CRUD 操作:
    MyBatis-Plus 还提供了一些增强的 CRUD 操作,如逻辑删除、乐观锁等。逻辑删除允许你在删除数据时,只是修改数据的标记字段,而不是真正地删除数据;乐观锁则通过版本号等机制来实现并发控制,避免多个线程同时修改同一条数据。

总的来说,MyBatis-Plus 提供了很多方便实用的功能,可以大大简化 MyBatis 的使用和开发工作。它的文档详细且完善,有很多示例代码可以参考。如果你使用 MyBatis,强烈推荐尝试 MyBatis-Plus 提供的便利和增强能力。

2、快速入门 1、准备数据库

create database if not exists mpdb character set utf8;

use mpdb;

CREATE TABLE user (

        id bigint(20) primary key auto_increment,
        
        name varchar(32) not null,
        
        password  varchar(32) not null,
        
        age int(3) not null ,
        
        tel varchar(32) not null

);

insert into user values(null,'tom','123456',12,'12345678910');

insert into user values(null,'jack','123456',8,'12345678910');

insert into user values(null,'jerry','123456',15,'12345678910');

insert into user values(null,'tom','123456',9,'12345678910');

insert into user values(null,'snake','123456',28,'12345678910');

insert into user values(null,'张益达','123456',22,'12345678910');

insert into user values(null,'张大炮','123456',16,'12345678910');

2、创建项目
	名称
		boot-mp-demo1
	依赖
		    <!-- springboot父依赖 -->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.7.5</version>
</parent>

<properties>
    <!-- jdk版本 -->
    <java.version>11</java.version>
</properties>

<dependencies>

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.4.1</version>
    </dependency>
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid-spring-boot-starter</artifactId>
        <version>1.2.11</version>
    </dependency>
    <dependency>
        <groupId>com.mysql</groupId>
        <artifactId>mysql-connector-j</artifactId>
    </dependency>

    <!-- 当前WEB项目需要的依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- 集成Junit依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>


            配置文件
		spring:

datasource:

type: com.alibaba.druid.pool.DruidDataSource

driver-class-name: com.mysql.cj.jdbc.Driver

url: jdbc:mysql://localhost:3306/mpdb?serverTimezone=UTC

username: root

password: root



3、创建实体
	public class User {
private Long id;

private String name;

private String password;

private Integer age;

private String tel;

} 4、准备Mapper

	继承 BaseMapper<T> 接口
5、测试
    
	创建测试类
            
	注入 UserMapper
            
	查询所有
            
       
           
           

5、更多详细可以翻阅官网

mybatis.plus/guide/wrapp…