美文网首页Mybatis
mybatis-generator-gui魔改,改完之后更方便了

mybatis-generator-gui魔改,改完之后更方便了

作者: 王月亮17 | 来源:发表于2022-07-27 07:49 被阅读0次

改的都是自己觉得需要改的部分,如有不同见解欢迎讨论。

在生成的实体类中,数据库tinyint类型默认会生成Byte,使用时略有不便。于是将其改成Integer。

  1. 自定义一个JavaType解析的类
package com.zzg.mybatis.generator.plugins;
public class MyJavaTypeResolverImpl extends JavaTypeResolverDefaultImpl {
    @Override
    protected FullyQualifiedJavaType overrideDefaultType(IntrospectedColumn column, FullyQualifiedJavaType defaultType) {
        FullyQualifiedJavaType answer = defaultType;
        switch (column.getJdbcType()) {
            case Types.TINYINT:
                answer = new FullyQualifiedJavaType(Integer.class.getName());
                break;
            default:
                break;
        }
        return answer;
    }
}
  1. 在加载配置的过程中进行加载即可(MybatisGeneratorBridge:210)
//for JSR310
        if (generatorConfig.isJsr310Support()) {
            JavaTypeResolverConfiguration javaTypeResolverConfiguration = new JavaTypeResolverConfiguration();
           javaTypeResolverConfiguration.setConfigurationType("com.zzg.mybatis.generator.plugins.JavaTypeResolverJsr310Impl");
            context.setJavaTypeResolverConfiguration(javaTypeResolverConfiguration);
        } else {
            // 《TINYINT的JavaType改为Integer》
            JavaTypeResolverConfiguration myJavaTypeResolverConfiguration = new JavaTypeResolverConfiguration();
           myJavaTypeResolverConfiguration.setConfigurationType("com.zzg.mybatis.generator.plugins.MyJavaTypeResolverImpl");
            context.setJavaTypeResolverConfiguration(myJavaTypeResolverConfiguration);
        }

去掉不必要的默认勾选

  1. 找到MainUI.fxml;
  2. 找到对应的checkbox,把selected修改为false即可。


    image.png

生成lombok常用注解

  1. 自定义lombok插件
package com.zzg.mybatis.generator.plugins;

public class LombokPlugin extends PluginAdapter {
    public LombokPlugin() {
    }

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

    @Override
    public boolean modelBaseRecordClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
        topLevelClass.addImportedType("lombok.Data");
        topLevelClass.addAnnotation("@Data");
        topLevelClass.addImportedType("lombok.ToString");
        topLevelClass.addAnnotation("@ToString");
        topLevelClass.addImportedType("lombok.Builder");
        topLevelClass.addAnnotation("@Builder");
        topLevelClass.addImportedType("lombok.NoArgsConstructor");
        topLevelClass.addAnnotation("@NoArgsConstructor");
        topLevelClass.addImportedType("lombok.AllArgsConstructor");
        topLevelClass.addAnnotation("@AllArgsConstructor");
        topLevelClass.addJavaDocLine("/**");
        topLevelClass.addJavaDocLine("* @author 我");
        topLevelClass.addJavaDocLine("* @date " + this.date2Str(new Date()));
        topLevelClass.addJavaDocLine("*/");
        return true;
    }

    @Override
    public boolean clientGenerated(Interface interfaze, TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {
        interfaze.addJavaDocLine("/**");
        interfaze.addJavaDocLine("* @author 我");
        interfaze.addJavaDocLine("* @date " + this.date2Str(new Date()));
        interfaze.addJavaDocLine("*/");
        return true;
    }

    @Override
    public boolean modelSetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType) {
        return false;
    }

    @Override
    public boolean modelGetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType) {
        return false;
    }

    private String date2Str(Date date) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
        return sdf.format(date);
    }
}


  1. 在加载配置的过程中进行加载即可(加到MybatisGeneratorBridge:182下面)


    image.png

生成的DAO层类改为默认Mapper结尾

找到MainUIController:212行,把“DAO”改为“Mapper”即可。

相关文章

  • mybatis-generator-gui魔改,改完之后更方便了

    改的都是自己觉得需要改的部分,如有不同见解欢迎讨论。 在生成的实体类中,数据库tinyint类型默认会生成Byte...

  • 昨夜的梦

    用手机改试卷太方便了,昨天晚上收到密码后就可以开始改了,不用在跑到办公室集中改,省心又省力,只是改久了眼睛更容易疲...

  • BBR原版、BBR魔改、BBR PLUS和锐速

    这个脚本,集合了BBR原版、BBR魔改、BBR Plus和锐速,愿用哪个用哪个,只能说:太方便了! 建议SSH下,...

  • 怎么也降不下去的重呀

    我发现呀,毕业的烦心事真的是接踵而至。 写论文,写完之后要改,改完之后要查重,查完之后降重,降完之后再查,反反复复...

  • 改完论文,接着改本子

    12月21日星期二 天气:晴 改完论文,接着改本子 早上:4:30起床,根据外审意见修改论文,7:30提交给主...

  • 2022-09-13 yolo的神奇和魔改

    可以魔改这个1470

  • 文章改完了,发个感想

    昨晚熬夜改文,等文改完竟然睡不着了。 改完一遍之后,我又细细检查了一遍,错别字,语句不通或者是排版不好看的地方。 ...

  • BBR魔改

    安装 支持系统:Centos 6+/Debian 8+/Ubuntu 14+,BBR魔改版不支持Debian 8。...

  • 魔改皮肤

    靠最近想改人设。顺便把剑侠奇传的皮肤挂上去… 七日的皮肤会在之后我的生存实况中出现,是拿MCskin Editor...

  • 魔改:死话

    魔都第三综合精神病院 …… “不好!又让他跑了!” “警报!拉响警报!” …… “哇——呜——” “哇——呜——“...

网友评论

    本文标题:mybatis-generator-gui魔改,改完之后更方便了

    本文链接:https://www.haomeiwen.com/subject/ptlvbrtx.html