|
@@ -2,7 +2,10 @@ package com.kxs.common.mybatis;
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
|
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
|
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
|
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.inner.DynamicTableNameInnerInterceptor;
|
|
|
import com.kxs.common.mybatis.config.MybatisPlusMetaObjectHandler;
|
|
import com.kxs.common.mybatis.config.MybatisPlusMetaObjectHandler;
|
|
|
|
|
+import com.kxs.common.mybatis.handler.MonthTableNameHandler;
|
|
|
import com.kxs.common.mybatis.plugins.SkyPaginationInnerInterceptor;
|
|
import com.kxs.common.mybatis.plugins.SkyPaginationInnerInterceptor;
|
|
|
import com.kxs.common.mybatis.resolver.SqlFilterArgumentResolver;
|
|
import com.kxs.common.mybatis.resolver.SqlFilterArgumentResolver;
|
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Bean;
|
|
@@ -32,12 +35,22 @@ public class MybatisAutoConfiguration implements WebMvcConfigurer {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * 分页插件, 对于单一数据库类型来说,都建议配置该值,避免每次分页都去抓取数据库类型
|
|
|
|
|
|
|
+ * 1.分页插件, 对于单一数据库类型来说,都建议配置该值,避免每次分页都去抓取数据库类型
|
|
|
|
|
+ * 2.针对 update 和 delete 语句 作用: 阻止恶意的全表更新删除
|
|
|
|
|
+ * 3.动态分表
|
|
|
*/
|
|
*/
|
|
|
@Bean
|
|
@Bean
|
|
|
public MybatisPlusInterceptor mybatisPlusInterceptor() {
|
|
public MybatisPlusInterceptor mybatisPlusInterceptor() {
|
|
|
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
|
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
|
|
interceptor.addInnerInterceptor(new SkyPaginationInnerInterceptor());
|
|
interceptor.addInnerInterceptor(new SkyPaginationInnerInterceptor());
|
|
|
|
|
+ //针对 update 和 delete 语句 作用: 阻止恶意的全表更新删除
|
|
|
|
|
+ interceptor.addInnerInterceptor(new BlockAttackInnerInterceptor());
|
|
|
|
|
+ //动态分表
|
|
|
|
|
+ DynamicTableNameInnerInterceptor dynamicTableNameInnerInterceptor = new DynamicTableNameInnerInterceptor();
|
|
|
|
|
+ dynamicTableNameInnerInterceptor.setTableNameHandler(
|
|
|
|
|
+ new MonthTableNameHandler("kxs_user_amount_log")
|
|
|
|
|
+ );
|
|
|
|
|
+ interceptor.addInnerInterceptor(dynamicTableNameInnerInterceptor);
|
|
|
return interceptor;
|
|
return interceptor;
|
|
|
}
|
|
}
|
|
|
|
|
|