56 lines
2.0 KiB
Java
56 lines
2.0 KiB
Java
package com.cdzy.operations.config;
|
|
|
|
import com.cdzy.common.enums.EbikeContents;
|
|
import com.cdzy.operations.component.EbikeTenantFactory;
|
|
import com.mybatisflex.annotation.KeyType;
|
|
import com.mybatisflex.core.FlexGlobalConfig;
|
|
import com.mybatisflex.core.audit.AuditManager;
|
|
import com.mybatisflex.core.dialect.DbType;
|
|
import com.mybatisflex.core.keygen.KeyGenerators;
|
|
import com.mybatisflex.core.tenant.TenantFactory;
|
|
import com.mybatisflex.core.tenant.TenantManager;
|
|
import jakarta.annotation.PostConstruct;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
|
|
|
@Slf4j
|
|
@Configuration
|
|
public class MyBatisFlexConfiguration {
|
|
|
|
@PostConstruct
|
|
public void init() {
|
|
//开启审计功能
|
|
AuditManager.setAuditEnable(true);
|
|
AuditManager.setMessageCollector(auditMessage ->
|
|
log.info("{},{}ms", auditMessage.getFullSql(), auditMessage.getElapsedTime())
|
|
);
|
|
|
|
log.info("开始初始化mybatis-flex全局配置");
|
|
FlexGlobalConfig globalConfig = FlexGlobalConfig.getDefaultConfig();
|
|
|
|
//全局ID生成策略配置
|
|
FlexGlobalConfig.KeyConfig keyConfig = new FlexGlobalConfig.KeyConfig();
|
|
keyConfig.setKeyType(KeyType.Generator);
|
|
keyConfig.setValue(KeyGenerators.snowFlakeId);
|
|
keyConfig.setBefore(true);
|
|
globalConfig.setKeyConfig(keyConfig);
|
|
|
|
globalConfig.setTenantColumn(EbikeContents.TENANT_ID);
|
|
globalConfig.setLogicDeleteColumn(EbikeContents.LOGIC_DELETE);
|
|
globalConfig.setDbType(DbType.POSTGRE_SQL);
|
|
globalConfig.setNormalValueOfLogicDelete(Boolean.FALSE);
|
|
globalConfig.setDeletedValueOfLogicDelete(Boolean.TRUE);
|
|
|
|
log.info("MyBatis-Flex 全局配置完成");
|
|
}
|
|
|
|
@Bean
|
|
public TenantFactory tenantFactory() {
|
|
log.info("开始初始化租户工厂");
|
|
EbikeTenantFactory factory = new EbikeTenantFactory();
|
|
TenantManager.setTenantFactory(factory);
|
|
return factory;
|
|
}
|
|
} |