MyBatisPlusConfig.java 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package com.fdkk.fdkkmeta.config;
  2. import com.baomidou.mybatisplus.annotation.DbType;
  3. import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
  4. import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
  5. import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
  6. import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
  7. import org.mybatis.spring.annotation.MapperScan;
  8. import org.springframework.context.annotation.Bean;
  9. import org.springframework.context.annotation.Configuration;
  10. import org.springframework.transaction.annotation.EnableTransactionManagement;
  11. @Configuration
  12. @EnableTransactionManagement
  13. @MapperScan({"com.fdkk.**.mapper"})
  14. public class MyBatisPlusConfig {
  15. /*
  16. * 分页插件,自动识别数据库类型
  17. * 多租户,请参考官网【插件扩展】
  18. */
  19. /**
  20. * 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题
  21. */
  22. @Bean
  23. public MybatisPlusInterceptor mybatisPlusInterceptor() {
  24. MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
  25. //向Mybatis过滤器链中添加分页拦截器
  26. interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
  27. //还可以添加其他的拦截器
  28. // 阻断插件
  29. interceptor.addInnerInterceptor(blockAttackInnerInterceptor());
  30. return interceptor;
  31. }
  32. @Bean
  33. ConfigurationCustomizer mybatisConfigurationCustomizer() {
  34. return configuration -> configuration.addInterceptor(new com.github.pagehelper.PageInterceptor());
  35. }
  36. /**
  37. * 如果是对全表的删除或更新操作,就会终止该操作
  38. * https://baomidou.com/guide/interceptor-block-attack.html
  39. */
  40. public BlockAttackInnerInterceptor blockAttackInnerInterceptor()
  41. {
  42. return new BlockAttackInnerInterceptor();
  43. }
  44. }