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<String, TableNameHandler> map = new HashMap<String, TableNameHandler>();
|
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;
|
}
|
|
|
}
|