You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
2.0 KiB
54 lines
2.0 KiB
package com.qs.serve.common.config;
|
|
|
|
import com.baomidou.mybatisplus.annotation.DbType;
|
|
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
|
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
|
import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
|
|
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
|
import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor;
|
|
import com.qs.serve.common.framework.mybatis.handler.SysMetaHandler;
|
|
import com.qs.serve.common.framework.mybatis.handler.SysTenantHandler;
|
|
import org.mybatis.spring.annotation.MapperScan;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
/**
|
|
* @author YenHex
|
|
* @since 2022/3/1
|
|
*/
|
|
@MapperScan("com.qs.serve.modules.*.mapper")
|
|
@Configuration(proxyBeanMethods = false)
|
|
public class MyBatisConfig {
|
|
|
|
@Bean
|
|
public MybatisPlusInterceptor mybatisPlusInterceptor() {
|
|
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
|
|
// 翻页拦截器
|
|
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
|
|
// 多租户、乐观锁等配置拦截
|
|
//interceptor.addInnerInterceptor(buildTenantHandler());
|
|
// 添加防止全表更新与删除拦截器
|
|
interceptor.addInnerInterceptor(new BlockAttackInnerInterceptor());
|
|
return interceptor;
|
|
}
|
|
|
|
@Bean
|
|
public MetaObjectHandler sysMetaHandler(){
|
|
return new SysMetaHandler();
|
|
}
|
|
|
|
public TenantLineInnerInterceptor buildTenantHandler(){
|
|
String[] ignoreTable = new String[]{
|
|
"sys_user",
|
|
"sys_user_tenant",
|
|
"sys_permit",
|
|
"sys_tenant",
|
|
"wx_app",
|
|
"sys_menu",
|
|
"sys_menu_permit"
|
|
};
|
|
SysTenantHandler sysTenantHandler = new SysTenantHandler(ignoreTable);
|
|
return new TenantLineInnerInterceptor(sysTenantHandler);
|
|
}
|
|
|
|
}
|
|
|