之前使用mybatis-plus的代码生成器的时候,生成的实体类是自带setter和getter方法的。如果想使用lombok,还得自己打上注解,并手动删除这些getter/setter方法。
mybatis-plus代码生成器其实是原生支持生成lombok模式实体类的,但是官方文档并没有提及(也可能是我看漏了),实现方法如下
public static void main(String[] args) {
// 包配置
PackageConfig pc = new PackageConfig();
AutoGenerator mpg = new AutoGenerator();
String[] tables = new String[]{"tb_message"};
String path = "H:\\JavaProjects\\xxxx\\src\\main\\java";
pc.setParent("xxx");
// 全局配置
GlobalConfig gc = new GlobalConfig();
gc.setOutputDir(path); //输出文件路径
gc.setFileOverride(true);
gc.setActiveRecord(false);// 不需要ActiveRecord特性的请改为false
gc.setEnableCache(false);// XML 二级缓存
gc.setBaseResultMap(true);// XML ResultMap
gc.setBaseColumnList(false);// XML columList
gc.setAuthor("xxx");// 作者
gc.setOpen(false);
// 自定义文件命名,注意 %s 会自动填充表实体属性!
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.SQL_SERVER);
dsc.setDriverName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
dsc.setUsername("username");
dsc.setPassword("pd);
dsc.setUrl("jdbc:sqlserver://127.0.0.1:1433;database=xxx");
mpg.setDataSource(dsc);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setTablePrefix(new String[]{"tb_"});// 此处可以修改为您的表前缀
strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
strategy.setInclude(tables); // 需要生成的表
//strategy.setSuperControllerClass("BaseController");
strategy.setSuperServiceClass(null);
strategy.setSuperServiceImplClass(null);
strategy.setSuperMapperClass(null);
strategy.setRestControllerStyle(true);
strategy.setEntityLombokModel(true); //开启lombook支持
mpg.setStrategy(strategy);
pc.setController("controller");
pc.setService("service");
pc.setServiceImpl("service.impl");
pc.setMapper("mapper");
pc.setEntity("entity");
pc.setXml("mapper");
mpg.setPackageInfo(pc);
xxx
mpg.getGlobalConfig().setFileOverride(false);
mpg.getGlobalConfig().setAuthor("x'x'x");
// 执行生成
mpg.execute();
}
关键代码只有一行: strategy.setEntityLombokModel(true);
配置了该策略后,生成的实体类就会省略setter/getter方法,并且带上@Data注解了
更多推荐
mybatis-plus代码生成器自动生成lombok模式的实体类
发布评论