提交 2c685daa 编写于 作者: xignzi006's avatar xignzi006 🇨🇳

更新 MybatisConfiguration.java.ftl

上级 87a067f1
<#ibiztemplate> <#ibiztemplate>
TARGET=PSSYSTEM TARGET=PSSYSTEM
</#ibiztemplate> </#ibiztemplate>
...@@ -16,6 +17,15 @@ import org.springframework.context.annotation.Bean; ...@@ -16,6 +17,15 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.annotation.MapperScan;
import java.util.Properties; import java.util.Properties;
<#if sys.getSaaSMode()==1>
import cn.ibizlab.resourcescheduling.util.security.AuthenticationUser;
import com.baomidou.mybatisplus.extension.plugins.tenant.TenantHandler;
import com.baomidou.mybatisplus.extension.plugins.tenant.TenantSqlParser;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.StringValue;
import java.util.ArrayList;
import java.util.List;
</#if>
/** /**
* mybatis全局配置类 * mybatis全局配置类
...@@ -52,6 +62,37 @@ public class MybatisConfiguration { ...@@ -52,6 +62,37 @@ public class MybatisConfiguration {
// paginationInterceptor.setOverflow(false); // paginationInterceptor.setOverflow(false);
// 设置最大单页限制数量,默认 500 条,-1 不受限制 // 设置最大单页限制数量,默认 500 条,-1 不受限制
paginationInterceptor.setLimit(-1); paginationInterceptor.setLimit(-1);
<#if sys.getSaaSMode()==1>
// 创建SQL解析器集合
List<ISqlParser> sqlParserList = new ArrayList<>();
// 创建租户SQL解析器
TenantSqlParser tenantSqlParser = new TenantSqlParser();
// 设置租户处理器
tenantSqlParser.setTenantHandler(new TenantHandler() {
@Override
public Expression getTenantId(boolean where) {
AuthenticationUser user = AuthenticationUser.getAuthenticationUser();
return new StringValue(user.getDomain());
}
@Override
public String getTenantIdColumn() {
return "SRFDCID";
}
@Override
public boolean doTableFilter(String tableName) {
return false;
}
});
sqlParserList.add(tenantSqlParser);
paginationInterceptor.setSqlParserList(sqlParserList);
</#if>
// 开启 count join 优化,只针对部分 left join // 开启 count join 优化,只针对部分 left join
paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true)); paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
return paginationInterceptor; return paginationInterceptor;
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册