package com.gihon.component.config; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import com.gihon.component.properties.GihonCommonProperties; @Configuration @EnableConfigurationProperties({ MybatisPlusProperties.class }) public class BaseMybatisConfiguration { /** * 分页插件 * * @return */ @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); return interceptor; } /** * Mybatis Plus 注入器 */ @Bean("myMetaObjectHandler") @ConditionalOnMissingBean public MetaObjectHandler getMyMetaObjectHandler(GihonCommonProperties gihonCommonProperties) { GihonCommonProperties.IdStrategy id = gihonCommonProperties.getIdStrategy(); return new MyMetaObjectHandler(id.getWorkerId(), id.getDataCenterId()); } }