注意版本
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.Driver
url: jdbc:mysql://localhost:3306/db1
username: root
password: 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 {
/**
* 添加分页插件
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 如果配置多个插件, 切记分页最后添加
// 如果有多数据源可以不配具体类型, 否则都建议配上具体的 DbType
return interceptor;
}
}
在应用层添加方法
编写测试类运行