mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 16:23:42 +08:00 
			
		
		
		
	update 优化 增加mybatis-plus一键开启/关闭逻辑删除功能
This commit is contained in:
		@@ -139,6 +139,8 @@ tenant:
 | 
			
		||||
# MyBatisPlus配置
 | 
			
		||||
# https://baomidou.com/config/
 | 
			
		||||
mybatis-plus:
 | 
			
		||||
  # 自定义配置 是否全局开启逻辑删除 关闭后 所有逻辑删除功能将失效
 | 
			
		||||
  enableLogicDelete: true
 | 
			
		||||
  # 多包名使用 例如 org.dromara.**.mapper,org.xxx.**.mapper
 | 
			
		||||
  mapperPackage: org.dromara.**.mapper
 | 
			
		||||
  # 对应的 XML 文件位置
 | 
			
		||||
 
 | 
			
		||||
@@ -2,6 +2,7 @@ package org.dromara.common.mybatis.config;
 | 
			
		||||
 | 
			
		||||
import cn.hutool.core.net.NetUtil;
 | 
			
		||||
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
 | 
			
		||||
import com.baomidou.mybatisplus.core.handlers.PostInitTableInfoHandler;
 | 
			
		||||
import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
 | 
			
		||||
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
 | 
			
		||||
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
 | 
			
		||||
@@ -13,6 +14,7 @@ import org.dromara.common.core.utils.SpringUtils;
 | 
			
		||||
import org.dromara.common.mybatis.aspect.DataPermissionAspect;
 | 
			
		||||
import org.dromara.common.mybatis.handler.InjectionMetaObjectHandler;
 | 
			
		||||
import org.dromara.common.mybatis.handler.MybatisExceptionHandler;
 | 
			
		||||
import org.dromara.common.mybatis.handler.PlusPostInitTableInfoHandler;
 | 
			
		||||
import org.dromara.common.mybatis.interceptor.PlusDataPermissionInterceptor;
 | 
			
		||||
import org.mybatis.spring.annotation.MapperScan;
 | 
			
		||||
import org.springframework.beans.BeansException;
 | 
			
		||||
@@ -105,6 +107,14 @@ public class MybatisPlusConfig {
 | 
			
		||||
        return new MybatisExceptionHandler();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 初始化表对象处理器
 | 
			
		||||
     */
 | 
			
		||||
    @Bean
 | 
			
		||||
    public PostInitTableInfoHandler postInitTableInfoHandler() {
 | 
			
		||||
        return new PlusPostInitTableInfoHandler();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * PaginationInnerInterceptor 分页插件,自动识别数据库类型
 | 
			
		||||
     * https://baomidou.com/pages/97710a/
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,24 @@
 | 
			
		||||
package org.dromara.common.mybatis.handler;
 | 
			
		||||
 | 
			
		||||
import cn.hutool.core.convert.Convert;
 | 
			
		||||
import com.baomidou.mybatisplus.core.handlers.PostInitTableInfoHandler;
 | 
			
		||||
import com.baomidou.mybatisplus.core.metadata.TableInfo;
 | 
			
		||||
import org.apache.ibatis.session.Configuration;
 | 
			
		||||
import org.dromara.common.core.utils.SpringUtils;
 | 
			
		||||
import org.dromara.common.core.utils.reflect.ReflectUtils;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 修改表信息初始化方式
 | 
			
		||||
 * 目前用于全局修改是否使用逻辑删除
 | 
			
		||||
 *
 | 
			
		||||
 * @author Lion Li
 | 
			
		||||
 */
 | 
			
		||||
public class PlusPostInitTableInfoHandler implements PostInitTableInfoHandler {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public void postTableInfo(TableInfo tableInfo, Configuration configuration) {
 | 
			
		||||
        String flag = SpringUtils.getProperty("mybatis-plus.enableLogicDelete", "true");
 | 
			
		||||
        ReflectUtils.setFieldValue(tableInfo, "withLogicDelete", Convert.toBool(flag));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user