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