项目的创建
项目创建:使用spring Initializr创建一个springboot项目,在创建的过程中可以选择springboot的版本,也可以导入你需要的依赖。。
项目的配置
1、依赖导入
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<!--代码生成器-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version>
</dependency>
2、yml配置整合mybatis的配置文件
端口、数据库、mybatis-plus日志输出、xml位置等
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/daxiongmao?
password: 123456
username: root
server:
port: 8081
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mybatis:
mapper-locations: classpath:mapper/*.xml
3、mybatis-plus分页插件
官网链接: https://baomidou.com/.
//Spring boot方式
@Configuration
@MapperScan("com.example.mapper")
public class MybatisPlusConfig {
// 最新版
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
4、代码生成器
创建一个工具包util,在该包下创建一个代码生成器类,如下:
public class CodeGenerator {
public static void main(String[] args){
generate();
}
private static void generate() {
FastAutoGenerator.create("jdbc:mysql://localhost:3306/数据库名?", 用户名, 密码)
.globalConfig(builder -> {
builder.author("作者") // 设置作者
.enableSwagger() // 开启 swagger 模式
.fileOverride() // 覆盖已生成文件
.outputDir("项目下的路径"); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent("com.example") // 设置父包名
.moduleName("") // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.mapperXml, “”)); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.entityBuilder().enableLombok();
builder.mapperBuilder().enableMapperAnnotation().build();
builder.controllerBuilder().enableHyphenStyle() // 开启驼峰转连字符
.enableRestStyle(); // 开启生成@RestController 控制器
builder.addInclude("panda_family") // 设置需要生成的表名
.addTablePrefix("a_"); // 设置过滤表前缀
})
.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}