• Mybatis Plus Generator代码生成器 西门


    Mybatis Plus Generator代码生成器

    
    import com.baomidou.mybatisplus.core.mapper.BaseMapper;
    import com.baomidou.mybatisplus.generator.FastAutoGenerator;
    import com.baomidou.mybatisplus.generator.config.OutputFile;
    import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    
    public class GeneratorMain {
        public static void main(String[] args) {
            List<String> tables = new ArrayList<>();
            tables.add("t_user");
    //        tables.add("p_question");
    //        tables.add("p_answer");
    //        tables.add("p_correct");
    
            FastAutoGenerator.create("jdbc:mysql://127.0.0.1:3306/generator_demo?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai"
                            , "root"
                            , "root")
                    .globalConfig(builder -> {
                        builder.author("ximen") // 设置类上注释作者
                                // 设置作者下的创建时间
                                .commentDate("yyyy-MM-dd")
                                .enableSwagger() // 开启 swagger 模式
                                .fileOverride() // 覆盖已生成文件
                                .outputDir(System.getProperty("user.dir")+"\\src\\main\\java"); // 指定输出目录
                    })
                    .packageConfig(builder -> {
                        builder.parent("com.ximen")
                                // 模块包名
                                .moduleName("demo")
                                .entity("entity")
                                .service("service")
                                .serviceImpl("service.Impl")
                                .controller("controller")
                                .mapper("mapper")
                                .xml("mapper")
                                .pathInfo(Collections.singletonMap(OutputFile.xml,System.getProperty("user.dir")+"\\src\\main\\resources\\mapper"));
                    })
                    .strategyConfig(builder -> {
                        // 需要生成表的列表
                        builder.addInclude(tables)
                                // 过滤掉表的前缀去生成实体类
                                .addTablePrefix("t_")
    
                                // service策略配置
                                .serviceBuilder()
                                // 设置service类名,%s适配表名
                                .formatServiceFileName("%sService")
                                // 设置impl类名,%s适配表名
                                .formatServiceImplFileName("%sServiceImpl")
    
                                // entity实体类策略配置
                                .entityBuilder()
                                // 开启Lombok
                                .enableLombok()
                                // 定义逻辑删除字段
    //                            .logicDeleteColumnName("deleted")
                                // 属性上加说明注解
                                .enableTableFieldAnnotation()
    
                                // controller策略配置
                                .controllerBuilder()
                                // 设置controller类名,%s适配表名
                                .formatFileName("%sController")
                                // 开启RestController
                                .enableRestStyle()
    
                                // mapper策略配置
                                .mapperBuilder()
                                // 生成通用的resultMap
                                .enableBaseResultMap()
                                // 设置继承的父类
                                .superClass(BaseMapper.class)
                                // 设置mapper类名,%s适配表名
                                .formatMapperFileName("%sMapper")
                                // 开启@Mapper注解
                                .enableMapperAnnotation()
                                // 设置mapper的xml名,%s适配表名
                                .formatXmlFileName("%sMapper");
                    })
                    // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                    .templateEngine(new FreemarkerTemplateEngine())
                    .execute();
    
        }
    }
    
  • 相关阅读:
    《别闹了,费曼先生》听书笔记
    提升失败回报率的清单
    《真实的幸福》听书笔记
    JAVA好书之《深入理解Java虚拟机》
    2017第32周五
    2017第32周四
    《具身认知》听书笔记
    javascript的rsa加密和python的rsa解密
    python socket timeout设置
    想使用gevent、mysql、sqlalchemy实现python项目协程异步达到并发的效果
  • 原文地址:https://www.cnblogs.com/ximensama/p/15957548.html
Copyright © 2020-2023  润新知