1.添加相关依赖(在父级pox中添加)
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.16</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
<version>3.5.16</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-jsqlparser</artifactId>
<version>3.5.16</version>
</dependency>
2.调整BaseEntity
在searchValue和params字段上面加@TableField(exist = false)注解
注解的类包是 com.baomidou.mybatisplus.annotation.TableField;
3.调整MyBatisConfig
将配置中的
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
换成
final MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean();
类包是 com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
4.添加配置类MybatisPlusConfig(和MyBatisConfig放在同一个包就行)
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
// proxyTargetClass = true 强制使用 CGLIB 代理,兼容若依的类结构
@EnableTransactionManagement(proxyTargetClass = true)
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor paginationInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 阻止恶意或误操作的全表更新删除
interceptor.addInnerInterceptor(new BlockAttackInnerInterceptor());
// 分页插件
PaginationInnerInterceptor pageInterceptor = new PaginationInnerInterceptor();
pageInterceptor.setMaxLimit(5000L);
pageInterceptor.setOptimizeJoin(true);
interceptor.addInnerInterceptor(pageInterceptor);
return interceptor;
}
}
5.在需要使用的Service或者Mapper中继承或实现相关接口。