MyBatis Generator原生提供的生成方式targetRuntime有几种,但都不符合项目需求或想自定义自己的方法。 网上的文章也很多: 如:http://generator.sturgeon.mopaas.com/reference/extending.htm ...
MyBatis Generator原生提供的生成方式targetRuntime有几种,但都不符合项目需求或想自定义自己的方法。 网上的文章也很多: 1、继承IntrospectedTableMyBatis3Impl,重写自己要改写的方法 InsoIntrospectedTable.java
重写calculate
重写createJavaClientGenerator使用自己的JavaMapperGenerator 我的做法比较粗暴,就是注释掉原来的逻辑,自己new自己的替代原来的。
public class InsoIntrospectedTable extends IntrospectedTableMyBatis3Impl { protected void calculate<String> warnings, ProgressCallback progressCallback) {// if (javaClientGenerator == null) {// if (context.getSqlMapGeneratorConfiguration() != null) {// // }// } else {// // } = new Insoprotected AbstractJavaClientGenerator createJavaClientGenerator() { if (context.getJavaClientGeneratorConfiguration() == null) { return null; }// String type = context.getJavaClientGeneratorConfiguration()// .getConfigurationType(); AbstractJavaClientGenerator javaGenerator;// if ("//$NON-NLS-1$// javaGenerator = new JavaMapperGenerator();// } else if ("MIXEDMAPPER".equalsIgnoreCase(type)) { //$NON-NLS-1$// javaGenerator = new MixedClientGenerator();// } else if ("ANNOTATEDMAPPER".equalsIgnoreCase(type)) { //$NON-NLS-1$// javaGenerator = new AnnotatedClientGenerator();// } else if ("MAPPER".equalsIgnoreCase(type)) { //$NON-NLS-1$// javaGenerator = new JavaMapperGenerator();// } else {// javaGenerator = (AbstractJavaClientGenerator) ObjectFactory// .createInternalObject(type);// } javaGenerator = new InsoJavaMapperGenerator(); return javaGenerator; }}
写一写才发觉,写这个有点费时间,虽然我只是贴一下。 2016-09-27 10:31:24
原标题:定制自己的mybatis生成
关键词:mybatis
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。