mybatis-plus版本升级尝试遇到的问题 若遇到高版本:【全局覆盖已有文件的配置已失效,已迁移到策略配置中】or【覆盖已有文件(已迁移到策略配置中,3.5.4版本会删除此方法)】这句话,可参考文章中解决办法
参考网站(里面并不是最新版本的代码生成,可以尝试看看,不会去覆盖已生成的,总体可以参考看看,然后加以修改):代码生成器(新) | MyBatis-Plus
以下版本只适合高版本mybatis-plus的生成
maven依赖(修改默认的模板引擎)
com.baomidou mybatis-plus-generator 3.5.3 org.freemarker freemarker 2.3.31
代码(解决代码覆盖主要是在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(); } }