Mybatis-plus入门教程
注意版本
jdk 18
springboot 3.1.0
mybatis 3.0.3
mybatisplus 3.5.5
快速入门
构建模块
导入依赖
<properties><maven.compiler.source>18</maven.compiler.source><maven.compiler.target>18</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties><!--导入父工程-->
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.0</version>
</parent><dependencies><!--springmvc--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--MySQL驱动--><dependency><groupId>com.mysql</groupId><artifactId>mysql-connector-j</artifactId></dependency><!--springboot整合mybatis--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>3.0.3</version></dependency><!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.30</version></dependency><!--mybatisplus springboot3--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>3.5.5</version></dependency><!--单元测试--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency>
</dependencies>
<build><plugins><plugin><!--将文件打包默认jar--><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>
创建启动类
创建配置文件
server:port: 8080
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/db1username: rootpassword: 123456
创建实体类(根据自己的数据库表来字段名一致)
新建mapper层继承BaseMapper接口 泛型为要操作的实体类
编写测试类
运行
详解
实体类注解
当实体类与数据库表名字段不一致时
1.在类名上添加@TableName("表名")注解
2.在字段名上添加@TableField("字段名")注解
当存在逻辑删除时
在字段上添加@TableLogic代表逻辑删除字段 0为不删除 1为删除 执行sql语句时会自动添加该条件 主键策略
MyBatis-Plus默认的主键策略是:NONE 全局唯一ID
在实体类的主键字段上添加@TableId(type = IdType.AUTO) AUTO(0),
//自动增长 NONE(1),
//默认全局唯一 INPUT(2),
//用户自己输入 ASSIGN_ID(3),
//全局唯一 ASSIGN_UUID(4),//UUID唯一字符串
条件构造器
在mybatisplus中mapper层只需要继承basemapper接口就可以了
在basemapper接口中预制了大部分的增删改查可以直接使用,也可以在mapper自己定义方法
但是预制的方法需要传递一个参数 QueryWrapper 我们称这个参数为条件构造器
分页插件
注意mybatisplus版本在3.5.9以上需要单独引入分页插件的依赖
此版本不需要
添加配置文件
@Configuration
public class MybatisPlusConfig {/*** 添加分页插件*/@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 如果配置多个插件, 切记分页最后添加// 如果有多数据源可以不配具体类型, 否则都建议配上具体的 DbTypereturn interceptor;}
}
在应用层添加方法
编写测试类运行