package com.freetmp.mbg.plugin; import org.apache.commons.lang3.reflect.FieldUtils; import org.mybatis.generator.api.GeneratedXmlFile; import org.mybatis.generator.api.IntrospectedTable; import org.mybatis.generator.api.PluginAdapter; import java.lang.reflect.Field; import java.util.List; /** * 修复MBG的mapper文件不能复写的错误 * * @author Pin Liu */ public class MapperOverwriteEnablePlugin extends PluginAdapter { private Field isMergeable; @Override public boolean validate(List<String> warnings) { isMergeable = FieldUtils.getField(GeneratedXmlFile.class, "isMergeable", true); return true; } @Override public boolean sqlMapGenerated(GeneratedXmlFile sqlMap, IntrospectedTable introspectedTable) { try { isMergeable.set(sqlMap, false); } catch (IllegalArgumentException | IllegalAccessException e) { e.printStackTrace(); } return true; } }