MybatisPlusConfig.java 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package com.ydtech.config;
  2. import com.baomidou.mybatisplus.annotation.DbType;
  3. import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
  4. import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
  5. import com.baomidou.mybatisplus.extension.plugins.handler.TableNameHandler;
  6. import com.baomidou.mybatisplus.extension.plugins.inner.DynamicTableNameInnerInterceptor;
  7. import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
  8. import com.ydtech.handler.CreateAndUpdateMetaObjectHandler;
  9. import lombok.RequiredArgsConstructor;
  10. import org.springframework.context.annotation.Bean;
  11. import org.springframework.context.annotation.Configuration;
  12. @Configuration
  13. @RequiredArgsConstructor
  14. public class MybatisPlusConfig {
  15. private final TableNameHandler tableNameHandler;
  16. @Bean
  17. public MybatisPlusInterceptor mybatisPlusInterceptor() {
  18. MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
  19. DynamicTableNameInnerInterceptor dynamicTableNameInnerInterceptor = new DynamicTableNameInnerInterceptor();
  20. // 需要放到第一位,切记不要放错,不然会导致动态表名切换失效
  21. dynamicTableNameInnerInterceptor.setTableNameHandler(tableNameHandler);
  22. interceptor.addInnerInterceptor(dynamicTableNameInnerInterceptor);
  23. interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
  24. return interceptor;
  25. }
  26. /**
  27. * 元对象字段填充控制器
  28. */
  29. @Bean
  30. public MetaObjectHandler metaObjectHandler() {
  31. return new CreateAndUpdateMetaObjectHandler();
  32. }
  33. }