mybatis-plus逆向⼯程模板
mybatis-plus 代码⽣成器
@Test
public void getGenerator() {
//项⽬路径
System.out.Property("user.dir"));
//代码⽣成器
AutoGenerator autoGenerator = new AutoGenerator();
//1.全局配置调⽤fig下的
GlobalConfig gc = new GlobalConfig();
//获取当前项⽬的路径
String path = Property("user.dir");
//设置是否开启AR
gc.setAuthor("chz")
//⽂件输出路径
.setOutputDir(path + "/src/main/java")
//⽣成时是否打开⽂件
.setOpen(false)
//是否覆盖⽂件
.setFileOverride(true)
//设置主键⾃增策略
.setIdType(IdType.ASSIGN_UUID)
/
/DO中⽇期类的类型, 缺省值为TIME_PACK
.setDateType(DateType.TIME_PACK)
//是否开启resultMap,默认false
.setBaseResultMap(true)
//是否开启sql⽚段,默认false
.setBaseColumnList(true)
//去掉service接⼝⾸字母的I, 如DO为User则叫UserService
.setServiceName("%sService")
//开启Swagger2
.setSwagger2(true);
//2.数据源配置
DataSourceConfig dataSourceConfig = new DataSourceConfig();
//设置数据源类型
dataSourceConfig.setDbType(DbType.MYSQL)
.setDriverName("sql.cj.jdbc.Driver")
.setUrl("jdbc:mysql://localhost:3306/gedu?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai")                .setUsername("root")
.setPassword("12345");
//3.策略配置
StrategyConfig strategyConfig = new StrategyConfig();
免费模板生成器//是否开启⼤写命名,默认不开启
strategyConfig.setCapitalMode(false)
//⽣成的DO⾃动实现Serializable接⼝, 默认true
.setEntitySerialVersionUID(true)
//数据库表映射到实体类命名策略
.setNaming(NamingStrategy.underline_to_camel)
//数据库表字段映射到实体类的命名策略
.setColumnNaming(NamingStrategy.underline_to_camel)
//设置想要⽣成的表
.setInclude("edu_teacher")
//⽣成的dao,service,entity不再带tbl_前缀
.setTablePrefix("edu_")
//设置lombok, @Accessor(chain = true),@Data等
.setEntityLombokModel(true)
/
/controller使⽤@RestController
.setRestControllerStyle(true)
//Mapping驼峰转连字
.setControllerMappingHyphenStyle(true)
//⾃动填充字段
.setTableFillList(Arrays
.asList(new TableFill("gmt_create", FieldFill.INSERT),
new TableFill("gmt_modified",FieldFill.INSERT_UPDATE)))
//                .setVersionFieldName("")//乐观锁属性名
//表中字段为is_deleted,⽣成的DO中去掉is前缀
.setEntityBooleanColumnRemoveIsPrefix(true)
.
setLogicDeleteFieldName("deleted");//逻辑删除属性名
⽣成的项⽬结构如下controller
.setLogicDeleteFieldName("deleted");//逻辑删除属性名
//4.包配置
PackageConfig packageConfig = new PackageConfig();
//setParent 设置统⼀的包路径
//设置模块名,对应controller 中使⽤servicedu 作为url, 如@RequestMapping("/servicedu/teacher"), 所有⽣成的都会在以该模块名为的包下        packageConfig.setModuleName("servicedu")
.setParent("com.chz")
.setMapper("mapper")
.setService("service")
.setController("controller")
.setEntity("entity")
.setXml("mapper");
//整合配置
autoGenerator.setPackageInfo(packageConfig)
.setDataSource(dataSourceConfig)
.setGlobalConfig(gc)
.setStrategy(strategyConfig);
//执⾏
}
@Controller
@RequestMapping("/servicedu/teacher") public class TeacherController {
}