mybatis generator 覆盖xml文件


  mybatis generator默认采用追加方式生成,所以我们如果要重新生成代码的时候那么要先删除原来的文件。

解决办法:

1:创建一个自定义补丁类。

OverwriteXmlPlugin.java

package com.my.common.generator.myplugins;

import java.util.List;

import org.mybatis.generator.api.GeneratedXmlFile;
import org.mybatis.generator.api.IntrospectedTable;
import org.mybatis.generator.api.PluginAdapter;

/**
 * @author wulm
 * @date 2018年10月26日 下午7:39:45
 * @version 1.0.0
 */
public class OverwriteXmlPlugin extends PluginAdapter {

    @Override
    public boolean validate(List<String> warnings) {
        return true;
    }

    @Override
    public boolean sqlMapGenerated(GeneratedXmlFile sqlMap, IntrospectedTable introspectedTable) {
        sqlMap.setMergeable(false);
        return super.sqlMapGenerated(sqlMap, introspectedTable);
    }

}

 

说明:原理是重写sqlMapGenerated方法。设置sqlMap.setMergeable(false);。默认情况下isMergeable为true,所以在这里设置为false。

 

2:在generator.xml中的context节点下加上

<!-- 覆盖xml文件 -->
<plugin
type="com.my.common.generator.myplugins.OverwriteXmlPlugin" />

 

当你再次执行的时候就会覆盖原来的xml了。

 

 

另外如果想要覆盖原来的java文件,建议使用java代码来生成代码,请参考官网:http://www.mybatis.org/generator/running/runningWithJava.html(使用XML配置文件从Java运行MBG),代码里面设置

boolean overwrite = true;即可

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM