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; } }