package com.moral.api.config.mybatis; import com.baomidou.mybatisplus.annotation.DbType; 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 org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.text.SimpleDateFormat; import java.util.*; @Configuration public class MybatisPlusConfig { /** * @Description: 设置动态表名 * @Param: [] * @return: com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor * @Author: 陈凯裕 * @Date: 2021/7/15 */ @Bean public MybatisPlusInterceptor mybatisPlusInterceptor(){ MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); //分页插件 interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); DynamicTableNameInnerInterceptor dynamicTableNameInnerInterceptor = new DynamicTableNameInnerInterceptor(); HashMap map = new HashMap(); map.put("history_five_minutely",(sql,tableName)->{ Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM"); String month = sdf.format(date); return tableName+"_"+month;}); dynamicTableNameInnerInterceptor.setTableNameHandlerMap(map); interceptor.addInnerInterceptor(dynamicTableNameInnerInterceptor); return interceptor; } }