MyBatisPlusConfig.java 2.1 KB

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