forked from github/dataease
56 lines
2.4 KiB
Java
56 lines
2.4 KiB
Java
package io.dataease.config;
|
|
|
|
import com.github.pagehelper.PageInterceptor;
|
|
import io.dataease.base.domain.*;
|
|
import io.dataease.commons.utils.CompressUtils;
|
|
import io.dataease.commons.utils.MybatisInterceptorConfig;
|
|
import io.dataease.interceptor.MybatisInterceptor;
|
|
import io.dataease.interceptor.UserDesensitizationInterceptor;
|
|
import org.mybatis.spring.annotation.MapperScan;
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.Properties;
|
|
|
|
@Configuration
|
|
@MapperScan(basePackages = {"io.dataease.base.mapper", "io.dataease.plugins"}, sqlSessionFactoryRef = "sqlSessionFactory")
|
|
@EnableTransactionManagement
|
|
public class MybatisConfig {
|
|
|
|
@Bean
|
|
@ConditionalOnMissingBean
|
|
public PageInterceptor pageInterceptor() {
|
|
PageInterceptor pageInterceptor = new PageInterceptor();
|
|
Properties properties = new Properties();
|
|
properties.setProperty("helperDialect", "mysql");
|
|
properties.setProperty("rowBoundsWithCount", "true");
|
|
properties.setProperty("reasonable", "true");
|
|
properties.setProperty("offsetAsPageNum", "true");
|
|
properties.setProperty("pageSizeZero", "true");
|
|
pageInterceptor.setProperties(properties);
|
|
return pageInterceptor;
|
|
}
|
|
|
|
@Bean
|
|
@ConditionalOnMissingBean
|
|
public MybatisInterceptor dbInterceptor() {
|
|
MybatisInterceptor interceptor = new MybatisInterceptor();
|
|
List<MybatisInterceptorConfig> configList = new ArrayList<>();
|
|
configList.add(new MybatisInterceptorConfig(FileContent.class, "file", CompressUtils.class, "zip", "unzip"));
|
|
configList.add(new MybatisInterceptorConfig(ApiTestReportDetail.class, "content", CompressUtils.class, "compress", "decompress"));
|
|
configList.add(new MybatisInterceptorConfig(Datasource.class, "configuration"));
|
|
configList.add(new MybatisInterceptorConfig(AuthSource.class, "configuration"));
|
|
interceptor.setInterceptorConfigList(configList);
|
|
return interceptor;
|
|
}
|
|
|
|
@Bean
|
|
public UserDesensitizationInterceptor userDesensitizationInterceptor() {
|
|
return new UserDesensitizationInterceptor();
|
|
}
|
|
}
|