每次使用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语句,对某些字段做特殊处理等等……

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐