如何为mybatis生成器插件生成的“示例”配置基类,或者生成器插件可以为“示例”配置基类?
答案 0 :(得分:0)
使用自定义plugin可以实现。
如果只需要扩展基类,那很容易。
package mygroup.myplugin;
import java.util.List;
import org.mybatis.generator.api.IntrospectedTable;
import org.mybatis.generator.api.PluginAdapter;
import org.mybatis.generator.api.dom.java.FullyQualifiedJavaType;
import org.mybatis.generator.api.dom.java.TopLevelClass;
public class ExampleSuperclassPlugin extends PluginAdapter {
@Override
public boolean validate(List<String> warnings) {
return true;
}
@Override
public boolean modelExampleClassGenerated(
TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
// Add import
topLevelClass.addImportedType(new FullyQualifiedJavaType("your.pkg.ExampleBase"));
// Add 'extends ExampleBase'
topLevelClass.setSuperClass("ExampleBase");
return true;
}
}
在generatorConfig.xml
中,添加<plugin />
条目。
<generatorConfiguration>
...
<context ...>
<plugin type="mygroup.myplugin.ExampleSuperclassPlugin" />
...
在运行Generator时,请确保自定义插件JAR包含在类路径中。
例如,如果您使用Generator Maven插件,请将其作为依赖项添加到pom.xml
中的插件中。
<build>
...
<plugins>
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<dependencies>
<dependency>
<groupId>mygroup</groupId>
<artifactId>myplugin</artifactId>
<version>0.0.1</version>
</dependency>
...