Mybatis--MybatisGenerator(自动生成代码)

燕扬
2023-12-01

原文网址:Mybatis--MybatisGenerator(自动生成代码)_IT利刃出鞘的博客-CSDN博客

问题解决

再次运行xml文件被覆盖

        MybatisGenerator插件是Mybatis官方提供的,这个插件存在一个固有的Bug,即当第一次生成了Mapper.xml之后,再次运行会导致Mapper.xml生成重复内容,而影响正常的运行。为了解决这个问题,需要自己写一个小插件类OverIsMergeablePlugin。 它为什么起作用说起来比较复杂,不在这里展开了,反正。。。我也是复制粘贴来的~
 

package com.how2java.util;
  
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;
  
public class OverIsMergeablePlugin extends PluginAdapter {
    @Override
    public boolean validate(List<String> warnings) {
        return true;
    }
  
    @Override
    public boolean sqlMapGenerated(GeneratedXmlFile sqlMap, IntrospectedTable introspectedTable) {
        try {
            Field field = sqlMap.getClass().getDeclaredField("isMergeable");
            field.setAccessible(true);
            field.setBoolean(sqlMap, false);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return true;
    }
}

其他网址

Mybatis系列教材 (二十六)- 相关概念 - Generator 用法

 类似资料: