MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
快速开始1.添加依赖。引入 spring-boot-starter、spring-boot-starter-test、mybatis-plus-boot-starter、h2 依赖
2.在 application.yml 配置文件中添加 H2 数据库datasource的相关配置
3.在 Spring Boot 启动类中添加 @MapperScan 注解,扫描 Mapper 文件夹
4.编写实体类 User.java(此处使用了 Lombok (opens new window)简化代码)
5.编写 Mapper 包下的 UserMapper接口。extends baseMapper
描述:表名注解,标识实体类对应的表
使用位置:实体类
@TableName("sys_user")
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
属性 类型 必须指定 默认值 描述 value String 否 "" 表名 schema String 否 "" schema@TableId
描述:主键注解
使用位置:实体类主键字段
@TableName("sys_user")
public class User {
@TableId
private Long id;
private String name;
private Integer age;
private String email;
}
属性 类型 必须指定 默认值 描述 value String 否 "" 主键字段名 type Enum 否 IdType.NONE 指定主键类型代码生成器(新)
implementation 'com.baomidou:mybatis-plus-boot-starter:3.5.1'
implementation 'com.baomidou:mybatis-plus-generator:3.5.1'
implementation 'org.freemarker:freemarker:2.3.30'
FastAutoGenerator.create("url", "username", "password")
.globalConfig(builder -> {
builder.author("baomidou") // 设置作者
.enableSwagger() // 开启 swagger 模式
.fileOverride() // 覆盖已生成文件
.outputDir("D://"); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent("com.baomidou.mybatisplus.samples.generator") // 设置父包名
.moduleName("system") // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, "D://")); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
//默认生成所有表
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
Service CRUD 接口
Save
SaveOrUpdate
#Remove
Update
Get
List
Page
Count
Chain
Mapper CRUD 接口
Insert
Delete
Update
Select
条件构造器
主键策略
自定义ID生成器


