每次使用mybatis-generator生成文件时,都会覆盖Mapper.java的文件,怎么防止Mapper.java文件被覆盖呢?
只需要继承PluginAdapter的类,实现如下:
public class TestPluginAdapter extends PluginAdapter {
@Override
public boolean clientGenerated(Interface interfaze, TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
FullyQualifiedJavaType type = interfaze.getType();
String fullyQualifiedName = type.getFullyQualifiedName();
try {
Class<?> aClass = Class.forName(fullyQualifiedName);
} catch (ClassNotFoundException e) {
return true;
}
return false;
}
然后将这个插件配置到XML中就行了
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<context id="testTables" targetRuntime="MyBatis3"defaultModelType="flat">
<property name="javaFileEncoding" value="UTF-8" />
<plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
<plugin type="cn.hyt.hyt_jj.repository.configuration.generator.TestPluginAdapter"/>
这样就可以防止被覆盖了,另外PluginAdapter还可以实现很多其他的功能,比如:控制是否生成某个SQL语句,对某些字段做特殊处理等等……