导入依赖:

        <!-- mybatis plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.2</version>
        </dependency>

        <!-- 代码生成器-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.3</version>
        </dependency>


快速生成模板:

package com.atxinxin;

public class GenCode {

    @Test
    public void gen() {

        FastAutoGenerator.create("url", "username", "password")
                .globalConfig(builder -> {
                    builder.author("xinxin") // 设置作者
                            .enableSwagger() // 开启 swagger 模式
                            .fileOverride() // 覆盖已生成文件
                            .outputDir("D://"); // 指定输出目录
                })
                .packageConfig(builder -> {
                    builder.parent("com.atxinxin") // 设置父包名
                            .moduleName("hospital") // 设置父包模块名
                            .pathInfo(Collections.singletonMap(OutputFile.xml, "D://")); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder.addInclude("yygh_hosp") // 设置需要生成的表名
                            .addTablePrefix("t_", "c_"); // 设置过滤表前缀
                })
                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .execute();
    }
}

自定义测试类:

全局配置(GlobalConfig)

.disableOpenDir() //禁止打开输出目录 ,默认开启,生成之后会自动打开生成文件地址

.outputDir(System.getProperty("user.dir")+"/src/main/java"); // 指定输出目录   ("user.dir")+"/src/main/java"===当前目录+springboot项目模块的src/main/java

包配置(PackageConfig)

策略配置(StrategyConfig)

模板配置(TemplateConfig)

package com.atxinxin;

public class GenCode {

    @Test
    public void gen() {
        FastAutoGenerator.create("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&allowPublicKeyRetrieval=true&failOverReadOnly=false", "root", "root")
                .globalConfig(builder -> {
                    builder.author("xinxin") // 设置作者
//                            .enableSwagger() // 开启 swagger 模式
                            .disableOpenDir() //禁止打开输出目录
                            .outputDir(System.getProperty("user.dir")+"/src/main/java"); // 指定输出目录
                })

                .packageConfig(builder -> {
                    builder.parent("com.atxinxin") // 设置父包名
                            .moduleName("hospital") // 设置父包模块名
                            .pathInfo(Collections.singletonMap(OutputFile.xml, System.getProperty("user.dir")+"/src/main/resources/mybatis-mapper")); // 设置mapperXml生成路径
                })

                .strategyConfig(builder -> {
//                    builder.addInclude("bar_code_basic"); // 设置需要生成的表名
//                            .addTablePrefix("t_", "c_"); // 设置过滤表前缀
                    
                    //生成实体配置设置
                    builder.entityBuilder().fileOverride()
                            .enableLombok() // 开启lombok 默认false
                            .enableRemoveIsPrefix() // 开启 Boolean 类型字段移除 is 前缀 默认false
                            .enableChainModel() // 开启链式模型
                            .idType(IdType.ASSIGN_ID)
                            .enableTableFieldAnnotation(); // 开启注解
                    builder.controllerBuilder().enableRestStyle();
                })
                .templateConfig(builder -> {
//                     builder.disable(TemplateType.ENTITY);//禁止实体类生成
                })
                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .execute();
    }
}

Mybatis-plus代码生成器官网文档地址https://baomidou.com/pages/779a6e/#%E5%AE%89%E8%A3%85

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐