mybatis-plus-generator實(shí)現(xiàn)代碼自動(dòng)生成器
第一步:引入依賴
<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 # 該配置就是將帶有下劃線的表字段映射為駝峰格式的實(shí)體類屬性 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
第三步:創(chuàng)建測(cè)試類并執(zhí)行, 然后在設(shè)置的目錄下自動(dòng) 生成 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") // 設(shè)置作者
// .enableSwagger() // 開啟 swagger 模式
.outputDir("F://java//javaProject//batis-genteraor//src//main//java//"); // 指定輸出目錄
})
.packageConfig(builder -> {
builder.parent("com.zhuangzi") // 設(shè)置父包名
.moduleName("batisgenteraor") // 設(shè)置父包模塊名
.pathInfo(Collections.singletonMap(OutputFile.xml, "F://java//javaProject//batis-genteraor//src//main//resources//mapper//")); // 設(shè)置mapperXml生成路徑
})
.strategyConfig(builder -> {
builder.addInclude("users"); // 設(shè)置需要生成的表名
// .addTablePrefix("t_", "c_"); // 設(shè)置過(guò)濾表前綴
})
.templateEngine(new FreemarkerTemplateEngine())
// 使用Freemarker引擎模板,默認(rèn)的是Velocity引擎模板
.execute();
}
}
