这里我们准备了两个与数据库表对应的实体类,stu为学生表,cls为班级表
类属性上的注解如 @TableId等 为Mybatis-Plus的注解,使用mybatis会无视掉这些注解
在Stu 类的最后一个属性我们定义了Cls实体类的对象,对于单表查询,这个对象不会进行映射,所以结果会为Null。
这两个表只是结构实例,后面会用到其他表



Mybatis-Plus就是对Mybatis的单表查询功能的增强,所以这里我们先说Mybatis

这里可以开启字段的自动映射
但是需要主要,要求对象的属性名需要与数据库字段名对应
同样开启自动映射也可以在 配置文件中 去开启,呢样就不需要这里去开启了




注解这里我们采用了另外的表进行示例,逻辑代码都是一样的



这里会有多对多的情况,在上图中我们使用的为 one=@One()
多表时使用 many=@Many() 其他都是一样的
但是要注意对于 many=@Many(select="这个方法返回的呢个对象要是一个 List类型或者其他集合类型不能为单对象了")
Mybatis-Plus就是对Mybatis的单表查询功能的增强,通常我们使用Mybatis-Plus都是配合Spring-boot项目一起使用,因此项目中多数都是采用注解的形式。
Mybatis-Plus的单表查询我们只需要让我们的mapper去基础Plus的BaseMapper即可
![]()
我们在Service层装配完mapper的Bean后就可以直接调用那些封装好的方法

同样的ServiceImpl也进行了继承

因此我们在 Controller层也可以直接调用大量封装好的方法

当然Plus也有很强大的条件查询功能
条件构造器 | MyBatis-Plus (baomidou.com)(Plus的中文官方文档)
在多表查询方面,Plus需要Mybatis的Xml对字段进行映射,比较麻烦,一般不会使用,注解方式比较方便。
Mybatis-Plus有封装好的分页方法
但是使用之前我们需要进行配置
- import com.baomidou.mybatisplus.annotation.DbType;
- import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
- import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
- import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
-
- @Configuration
- public class MybatisPlusConfig {
-
- @Bean
- public MybatisPlusInterceptor mybatisPlusInterceptor() {
- MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
- interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
- return interceptor;
- }
- @Bean
- public ConfigurationCustomizer configurationCustomizer() {
- return configuration -> configuration.setUseGeneratedKeys(false);
- }
- }

当然我们也可以使用PageHelper
-
-
com.github.pagehelper -
pagehelper-spring-boot-starter -
1.4.6 -

前后端分离配置