依赖
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
//分页插件
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return interceptor;
}
自动代码生成
FastAutoGenerator
// 数据源配置
.create("jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=Asia/Shanghai",
"root", "123456")
// 全局配置
.globalConfig(builder -> {
builder.author("tao") // 设置作者
// .enableSwagger() // 开启 swagger 模式
.commentDate("yyyy-MM-dd HH:mm:ss") // 注释日期格式
.outputDir(".\\src\\main\\java\\") // 指定输出目录
.disableOpenDir(); // 禁止打开输出目录
})
// 包配置
.packageConfig(builder -> {
builder.parent("com.tao") // 设置父包名
.moduleName("mybatisplus") // 设置父包模块名
// .entity("pojo") // pojo实体类包名,其他包名同理
.pathInfo(Collections.singletonMap(OutputFile.xml, "src\\main\\resources\\mapper\\")); // 设置mapperXml生成路径
})
// 策略配置
.strategyConfig(builder -> {
builder.addInclude("user")// 设置需要生成的表名
.addTablePrefix() //设置过滤表前缀
// entity配置
.entityBuilder()
.enableFileOverride()
.enableLombok() // 使用Lombok
.logicDeleteColumnName("delete_time") // 逻辑删除字段名
.naming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略:下划线转驼峰命名
.columnNaming(NamingStrategy.underline_to_camel) // 数据库表字段映射到实体的命名策略:下划线转驼峰命名
.addTableFills(
new Column("create_time", FieldFill.INSERT),
new Column("update_time", FieldFill.INSERT_UPDATE)
) //添加表字段填充,"create_time"字段自动填充为插入时间,"modify_time"字段自动填充为插入修改时间
.enableTableFieldAnnotation() // 开启生成实体时生成字段注解
.idType(IdType.AUTO) // 标记实例类的主键生成方式,如果插入时没有指定,刚自动分配一个,默认是雪花算法
//mapper配置
.mapperBuilder()
.enableFileOverride()
.superClass(BaseMapper.class) // 设置父类
.formatMapperFileName("%sMapper") // 格式化mapper文件名
.mapperAnnotation(Mapper.class) // 添加@Mapper注解
//service配置
.serviceBuilder()
.enableFileOverride()
.formatServiceFileName("%sService") // 格式化Service文件名,如:UserService
.formatServiceImplFileName("%sServiceImpl") // 格式化ServiceImpl文件名,如:UserServiceImpl
// .convertServiceFileName(entityName -> entityName + "Service")
// .convertServiceImplFileName(entityName -> entityName + "ServiceImpl")
.superServiceClass(IService.class) // 设置父类
.superServiceImplClass(ServiceImpl.class) // 设置父类
//controller配置
.controllerBuilder()
.enableFileOverride()
.formatFileName("%sController") // 格式化Controller文件名
.enableRestStyle() // 开启生成 @RestController 控制器
.build();
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
发表评论