Mybatis-Generator自动生成代码(java 代码版本)







    
        mysql
        mysql-connector-java
        5.1.34
    
    
        org.mybatis.generator
        mybatis-generator-core
        1.3.2
    




public class GeneratorXs {

    public static void main(String[] args) throws Exception {

        Properties pro = new Properties();
        InputStream inputStream = FileUtil.class.getClassLoader().getResourceAsStream("generatorForIDEA.properties");
        if(inputStream != null)
            pro.load(inputStream);

        String defaultPath = "D:/generatorDir";

        String path = pro.getProperty("xs.gen.config.pojo.model.project", defaultPath);
        System.out.println("*********path="+path);
        File file = new File(path);
        if (!file.exists()) {
            file.mkdirs();
        }


        //MBG 执行过程中的警告信息
        List warnings = new ArrayList();
        //当生成的代码重复时,覆盖原代码
        boolean overwrite = true;
        //读取我们的 MBG 配置文件
        InputStream is = Surrogate.Generator.class.getResourceAsStream("/generatorXs.xml");
        ConfigurationParser cp = new ConfigurationParser(warnings);
        Configuration config = cp.parseConfiguration(is);
        is.close();

        DefaultShellCallback callback = new DefaultShellCallback(overwrite);
        //创建 MBG
        MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings);
        //执行生成代码
        myBatisGenerator.generate(null);
        //输出警告信息
        for (String warning : warnings) {
            System.out.println(warning);
        }

        System.out.println("********* 结束");
    }
}



public class CommentGeneratorXs extends DefaultCommentGenerator {
    private boolean addRemarkComments = false;

    /**
     * 设置用户配置的参数
     */
    @Override
    public void addConfigurationProperties(Properties properties) {
        super.addConfigurationProperties(properties);
        this.addRemarkComments = StringUtility.isTrue(properties.getProperty("addRemarkComments"));
    }

    /**
     * 给字段添加注释
     */
    @Override
    public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {
        String remarks = introspectedColumn.getRemarks();
        //根据参数和备注信息判断是否添加备注信息
        if(addRemarkComments && StringUtility.stringHasValue(remarks)){
            //文档注释开始
            field.addJavaDocLine("/**");
            //获取数据库字段的备注信息
            String[] remarkLines = remarks.split(System.getProperty("line.separator"));
            for(String remarkLine:remarkLines){
                field.addJavaDocLine(" * "+remarkLine);
            }
            addJavadocTag(field, false);
            field.addJavaDocLine(" */");
        }
    }

}


<?xml version="1.0" encoding="UTF-8"?>


   
   
      
          
         
         
         
         
      
      
       
      
      
      
         
      
      
      
         
         
      
      
      
         
      
      
      
         
      
      
      
         
         
      



${gen.config.pojo.model.package}

这种 自己配置下 properties

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章