From d32bc8f5fa5cd1a9ef293614124420b17acdaa5f Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Thu, 23 Sep 2021 15:21:08 +0800 Subject: [PATCH] screen-api 增加小时和五分钟跨表查询 --- screen-api/src/main/java/com/moral/api/config/mybatis/MybatisPlusConfig.java | 53 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 46 insertions(+), 7 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/config/mybatis/MybatisPlusConfig.java b/screen-api/src/main/java/com/moral/api/config/mybatis/MybatisPlusConfig.java index 4a253f7..a43b5e9 100644 --- a/screen-api/src/main/java/com/moral/api/config/mybatis/MybatisPlusConfig.java +++ b/screen-api/src/main/java/com/moral/api/config/mybatis/MybatisPlusConfig.java @@ -1,22 +1,61 @@ package com.moral.api.config.mybatis; -import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; +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<String> tableName = new ThreadLocal<>(); + @Bean - public PaginationInterceptor paginationInterceptor() { - PaginationInterceptor page = new PaginationInterceptor(); - return page; + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + + //������������ + interceptor.addInnerInterceptor(new PaginationInnerInterceptorIIL(DbType.MYSQL)); + + // ������������SQL��������� + DynamicTableNameInnerInterceptor dynamicTableNameInnerInterceptor = new DynamicTableNameInnerInterceptor(); + HashMap<String, TableNameHandler> 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; } + /*@Bean + public MybatisPlusInterceptor mybatisPlusInterceptor() { + MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); + + //������������ + PaginationInnerInterceptorIIL paginationInnerInterceptorIIL = new PaginationInnerInterceptorIIL(DbType.MYSQL); + paginationInnerInterceptorIIL.setMultiTableQueryName(multiTableQueryNames); + interceptor.addInnerInterceptor(paginationInnerInterceptorIIL); + + return interceptor; + }*/ } -- Gitblit v1.8.0