首页 > 其他 > 详细

mybatis-generator 自动生成查询Vo

时间:2019-04-10 16:46:14      阅读:568      评论:0      收藏:0      [点我收藏+]

 

package com.witwicky.plugins;

import org.mybatis.generator.api.GeneratedJavaFile;
import org.mybatis.generator.api.IntrospectedTable;
import org.mybatis.generator.api.PluginAdapter;
import org.mybatis.generator.api.dom.DefaultJavaFormatter;
import org.mybatis.generator.api.dom.java.JavaVisibility;
import org.mybatis.generator.api.dom.java.TopLevelClass;

import java.util.Collections;
import java.util.List;

public class GenQueryVoPlugin extends PluginAdapter {

    public GenQueryVoPlugin() {
        super();
    }

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

    @Override
    public List<GeneratedJavaFile> contextGenerateAdditionalJavaFiles(IntrospectedTable introspectedTable) {
        String queryVoName = introspectedTable.getFullyQualifiedTable().getDomainObjectName();

        String model = context.getJavaModelGeneratorConfiguration().getTargetPackage();
        String querVoPkgName = properties.getProperty("QUERVO_PKG_NAME", "queryvo");
        String queryVo = join(model.substring(0, model.lastIndexOf(".")), querVoPkgName);

        String querVoSuffix = properties.getProperty("QUERVO_VO_SUFFIX", "Vo");
        TopLevelClass root = new TopLevelClass(join(queryVo, queryVoName + querVoSuffix));
        root.addImportedType(model + "." + queryVoName);
        root.setSuperClass(queryVoName);
        root.setVisibility(JavaVisibility.PUBLIC);

        String targetProject = context.getJavaClientGeneratorConfiguration().getTargetProject();
        GeneratedJavaFile gjf = new GeneratedJavaFile(root, targetProject, "UTF-8", new DefaultJavaFormatter());

        return Collections.singletonList(gjf);
    }

    private String join(String... strs) {
        StringBuilder sb = new StringBuilder();
        for (String str : strs) {
            sb.append(str).append(".");
        }
        return sb.deleteCharAt(sb.length() - 1).toString();
    }
}

 

mybatis-generator 自动生成查询Vo

原文:https://www.cnblogs.com/hfultrastrong/p/10684261.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!