package com.moral.api.config.mybatis; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.parsers.DynamicTableNameParser; import com.baomidou.mybatisplus.extension.parsers.ITableNameHandler; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.handler.TableNameHandler; import com.baomidou.mybatisplus.extension.plugins.inner.DynamicTableNameInnerInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import com.moral.api.entity.HistoryFiveMinutely; import com.moral.api.mapper.HistoryFiveMinutelyMapper; import com.moral.api.service.HistorySecondUavService; import com.moral.api.service.impl.HistorySecondUavServiceImpl; import com.moral.api.service.impl.OrganizationServiceImpl; import org.apache.ibatis.reflection.MetaObject; import org.apache.ibatis.session.SqlSessionFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.text.SimpleDateFormat; import java.util.*; /*@Configuration*/ public class MybatisPlusConfig { public static ThreadLocal tableName = new ThreadLocal<>(); @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); //分页插件 interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); // 动态表名SQL解析器 DynamicTableNameInnerInterceptor dynamicTableNameInnerInterceptor = new DynamicTableNameInnerInterceptor(); HashMap map = new HashMap<>(); map.put("history_hourly", (sql, tableName) -> tableName+this.tableName.get()); map.put("history_five_minutely", (sql, tableName) -> tableName+this.tableName.get()); dynamicTableNameInnerInterceptor.setTableNameHandlerMap(map); interceptor.addInnerInterceptor(dynamicTableNameInnerInterceptor); return interceptor; } }