MybatisConfig.java 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package com.fjhx.config.mybatis;
  2. import com.baomidou.mybatisplus.annotation.DbType;
  3. import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
  4. import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
  5. import com.baomidou.mybatisplus.extension.MybatisMapWrapperFactory;
  6. import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
  7. import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
  8. import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
  9. import org.mybatis.spring.annotation.MapperScan;
  10. import org.springframework.context.annotation.Bean;
  11. import org.springframework.context.annotation.Configuration;
  12. import org.springframework.transaction.annotation.EnableTransactionManagement;
  13. /**
  14. * mybatis扩展插件配置
  15. */
  16. @Configuration
  17. @EnableTransactionManagement
  18. @MapperScan("com.fjhx.**.mapper")
  19. public class MybatisConfig {
  20. /**
  21. * 分页插件
  22. */
  23. @Bean
  24. public MybatisPlusInterceptor mybatisPlusInterceptorPage() {
  25. MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
  26. // 分页
  27. interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
  28. // 乐观锁
  29. interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());
  30. return interceptor;
  31. }
  32. /**
  33. * 自定义公共字段自动注入
  34. */
  35. @Bean
  36. public MetaObjectHandler metaObjectHandler() {
  37. return new CustomMetaObjectHandler();
  38. }
  39. /**
  40. * map返回查询结果时,自动转驼峰
  41. */
  42. @Bean
  43. public ConfigurationCustomizer configurationCustomizer() {
  44. return i -> i.setObjectWrapperFactory(new MybatisMapWrapperFactory());
  45. }
  46. }