54 lines
1.7 KiB
Java
54 lines
1.7 KiB
Java
|
|
package com.cdzy.staff.config;
|
||
|
|
|
||
|
|
import com.mybatisflex.annotation.KeyType;
|
||
|
|
import com.mybatisflex.core.FlexGlobalConfig;
|
||
|
|
import com.mybatisflex.core.audit.AuditManager;
|
||
|
|
import com.mybatisflex.core.dialect.DbType;
|
||
|
|
import org.slf4j.Logger;
|
||
|
|
import org.slf4j.LoggerFactory;
|
||
|
|
import org.springframework.context.annotation.Bean;
|
||
|
|
import org.springframework.context.annotation.Configuration;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @author attiya
|
||
|
|
*/
|
||
|
|
@Configuration
|
||
|
|
public class MyBatisFlexConfiguration {
|
||
|
|
|
||
|
|
private static final Logger logger = LoggerFactory
|
||
|
|
.getLogger("mybatis-flex-sql:");
|
||
|
|
|
||
|
|
|
||
|
|
public MyBatisFlexConfiguration() {
|
||
|
|
//开启审计功能
|
||
|
|
AuditManager.setAuditEnable(true);
|
||
|
|
|
||
|
|
//设置 SQL 审计收集器
|
||
|
|
AuditManager.setMessageCollector(auditMessage ->
|
||
|
|
logger.info("{},{}ms", auditMessage.getFullSql()
|
||
|
|
, auditMessage.getElapsedTime())
|
||
|
|
);
|
||
|
|
|
||
|
|
//全局ID生成策略配置
|
||
|
|
FlexGlobalConfig.KeyConfig keyConfig = new FlexGlobalConfig.KeyConfig();
|
||
|
|
keyConfig.setKeyType(KeyType.Generator);
|
||
|
|
keyConfig.setValue("snowFlakeId");
|
||
|
|
keyConfig.setBefore(true);
|
||
|
|
|
||
|
|
|
||
|
|
FlexGlobalConfig.getDefaultConfig().setKeyConfig(keyConfig);
|
||
|
|
}
|
||
|
|
|
||
|
|
@Bean
|
||
|
|
public FlexGlobalConfig flexGlobalConfig() {
|
||
|
|
FlexGlobalConfig globalConfig = FlexGlobalConfig.getDefaultConfig();
|
||
|
|
//方言配置
|
||
|
|
globalConfig.setDbType(DbType.POSTGRE_SQL); // 关键配置
|
||
|
|
//设置数据库正常时的值
|
||
|
|
globalConfig.setNormalValueOfLogicDelete(Boolean.FALSE);
|
||
|
|
|
||
|
|
//设置数据已被删除时的值
|
||
|
|
globalConfig.setDeletedValueOfLogicDelete(Boolean.TRUE);
|
||
|
|
return globalConfig;
|
||
|
|
}
|
||
|
|
}
|