You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
2.6 KiB
Java

package com.docus.bgts.config;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.autoconfigure.MybatisPlusProperties;
import com.baomidou.mybatisplus.core.MybatisConfiguration;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import lombok.RequiredArgsConstructor;
import lombok.experimental.var;
import org.apache.ibatis.logging.nologging.NoLoggingImpl;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import javax.annotation.PostConstruct;
import java.util.Objects;
@Configuration
@RequiredArgsConstructor
@EnableTransactionManagement
@MapperScan("com.docus.bgts.mapper")
@ConditionalOnClass(value = {PaginationInterceptor.class})
public class MybatisPlusConfig {
private final MybatisPlusProperties mybatisPlusProperties;
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
return paginationInterceptor;
}
@PostConstruct
public void initMybatisConfig(){
mybatisPlusProperties.setMapperLocations(new String[]{"classpath*:/mapper/*Mapper.xml"});
mybatisPlusProperties.setTypeAliasesPackage("com.docus.bgts.entity");
MybatisConfiguration configuration = mybatisPlusProperties.getConfiguration();
if(Objects.isNull(configuration)){
configuration=new MybatisConfiguration();
}
configuration.setMapUnderscoreToCamelCase(true);
configuration.setCacheEnabled(true);
configuration.setLogImpl(NoLoggingImpl.class);
mybatisPlusProperties.setConfiguration(configuration);
var globalConfig = mybatisPlusProperties.getGlobalConfig();
if(Objects.isNull(globalConfig)){
globalConfig=new GlobalConfig();
}
GlobalConfig.DbConfig dbConfig = globalConfig.getDbConfig();
if(Objects.isNull(dbConfig)){
dbConfig=new GlobalConfig.DbConfig();
}
configuration.setCallSettersOnNulls(true);
dbConfig.setIdType(IdType.ASSIGN_ID);
dbConfig.setTableUnderline(true);
dbConfig.setLogicDeleteValue("1");
dbConfig.setLogicNotDeleteValue("0");
dbConfig.setLogicDeleteField("def_flag");
globalConfig.setDbConfig(dbConfig);
globalConfig.setBanner(false);
}
}