mybatis-plus-generator实现代码自动生成器
第一步:引入依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.1</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.5.3</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
第二步:applicatio.yml配置
mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志 map-underscore-to-camel-case: true # 该配置就是将带有下划线的表字段映射为驼峰格式的实体类属性 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/data0917?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8 username: root password: root
第三步:创建测试类并执行, 然后在设置的目录下自动 生成 xml,service,mapper,controller文件
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.Collections;
@SpringBootTest
public class MyBatisPlusGenerator {
@Test
public void fastAutoGeneratorTest(){
String url="jdbc:mysql://localhost:3306/data0917?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8";
FastAutoGenerator.create(url, "root", "root")
.globalConfig(builder -> {
builder.author("carl") // 设置作者
// .enableSwagger() // 开启 swagger 模式
.outputDir("F://java//javaProject//batis-genteraor//src//main//java//"); // 指定输出目录
})
.packageConfig(builder -> {
builder.parent("com.zhuangzi") // 设置父包名
.moduleName("batisgenteraor") // 设置父包模块名
.pathInfo(Collections.singletonMap(OutputFile.xml, "F://java//javaProject//batis-genteraor//src//main//resources//mapper//")); // 设置mapperXml生成路径
})
.strategyConfig(builder -> {
builder.addInclude("users"); // 设置需要生成的表名
// .addTablePrefix("t_", "c_"); // 设置过滤表前缀
})
.templateEngine(new FreemarkerTemplateEngine())
// 使用Freemarker引擎模板,默认的是Velocity引擎模板
.execute();
}
}
