MyBatisPlusConfig.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package com.template.config;
  2. import com.baomidou.mybatisplus.core.injector.ISqlInjector;
  3. import com.baomidou.mybatisplus.extension.injector.LogicSqlInjector;
  4. import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;
  5. import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
  6. import com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor;
  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.context.annotation.Profile;
  11. import org.springframework.transaction.annotation.EnableTransactionManagement;
  12. // 扫描我们的 mapper 文件夹
  13. @MapperScan("com.template.mapper")
  14. @EnableTransactionManagement
  15. @Configuration // 配置类
  16. public class MyBatisPlusConfig {
  17. // 注册乐观锁插件
  18. @Bean
  19. public OptimisticLockerInterceptor optimisticLockerInterceptor() {
  20. return new OptimisticLockerInterceptor();
  21. }
  22. // 分页插件
  23. @Bean
  24. public PaginationInterceptor paginationInterceptor() {
  25. return new PaginationInterceptor();
  26. }
  27. // 逻辑删除组件!
  28. @Bean
  29. public ISqlInjector sqlInjector() {
  30. return new LogicSqlInjector();
  31. }
  32. /**
  33. * SQL执行效率插件
  34. * 在控制台显示sql语句
  35. */
  36. @Bean
  37. @Profile({"dev","test"})// 设置 dev test 环境开启,保证我们的效率
  38. public PerformanceInterceptor performanceInterceptor() {
  39. PerformanceInterceptor performanceInterceptor = new PerformanceInterceptor();
  40. performanceInterceptor.setMaxTime(3000); //ms 设置sql执行的最大时间,如果超过了则不执行
  41. performanceInterceptor.setFormat(true);
  42. return performanceInterceptor;
  43. }
  44. }