mybatis-plus代码生成工具

mybatis-plus版本升级尝试遇到的问题
若遇到高版本:【全局覆盖已有文件的配置已失效,已迁移到策略配置中】or【覆盖已有文件(已迁移到策略配置中,3.5.4版本会删除此方法)】这句话,可参考文章中解决办法

参考网站(里面并不是最新版本的代码生成,可以尝试看看,不会去覆盖已生成的,总体可以参考看看,然后加以修改):代码生成器(新) | MyBatis-Plus

以下版本只适合高版本mybatis-plus的生成

maven依赖(修改默认的模板引擎)

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.5.3</version>
</dependency>
<dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
    <version>2.3.31</version>
</dependency>

代码(解决代码覆盖主要是在strategyConfig,serviceBuilder(),总共有四个策略配置可以到StrategyConfig中找)

public class CodeUtils {

    public static void main(String[] args) {
        genecode("xk_user", "com.system");
    }


    public static void genecode(String tableName, String filePath) {
        FastAutoGenerator.create("jdbcUrl", "用户名", "密码")
                .globalConfig(builder -> {
                    builder.author("haohaounique") // 设置作者
//                            .enableSwagger() // 开启 swagger 模式
//                             .fileOverride() // 覆盖已生成文件 已过时到strategyConfig 中去配置
                            .dateType(DateType.ONLY_DATE)
                            .commentDate("yyyy-MM-dd HH:mm:ss")
                            .outputDir("D:\\develop\\xcheck\\icheck\\src\\main\\java"); // 指定输出目录
                })
                .packageConfig(builder -> {
                    builder.parent(filePath) // 设置父包名
                            .pathInfo(Collections.singletonMap(OutputFile.xml, "D:\\develop\\xcheck\\icheck\\src\\main\\resources\\mapper")); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder.addInclude(tableName).entityBuilder().enableFileOverride()
                            .serviceBuilder().enableFileOverride()
                            .mapperBuilder().enableFileOverride()
                            .controllerBuilder().enableFileOverride()
                    ;
                })
                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .execute();
    }
}

猜你喜欢

转载自blog.csdn.net/haohaounique/article/details/127837673
今日推荐