MybatisPlus一键生成代码

database

Mybatis-Plus一键生成代码

一、闲言碎语

闲来无事看了看了MP的官网看到一键生成的代码更新了!

整个Ui风格都变了,遂决定瞅一眼新的代码生成器

官网地址~~

二、引入依赖

新的代码生成只有在MP的版本 >= 3.5.1才可以使用 并且不兼容之前的版本

<!--        Mybatis-Plus依赖 注意和SpringBoot版本对应-->

<dependency>

<groupId>com.baomidou</groupId>

<artifactId>mybatis-plus-boot-starter</artifactId>

<version>3.4.0</version>

</dependency>

<!-- Mybatis-Plus添加代码生成器依赖 3.5.1才可以使用新的代码生成器-->

<dependency>

<groupId>com.baomidou</groupId>

<artifactId>mybatis-plus-generator</artifactId>

<version>3.5.1</version>

</dependency>

<!-- Mybatis-Plus添加代码生成器模板引擎-->

<dependency>

<groupId>org.freemarker</groupId>

<artifactId>freemarker</artifactId>

<version>2.3.31</version>

</dependency>

<!-- swagger可理解为接口文档规范 -->

<dependency>

<groupId>io.swagger</groupId>

<artifactId>swagger-annotations</artifactId>

<version>1.6.2</version>

</dependency>

swagger可取舍,如果开启Lombok则可以不使用

三、配置

1、快速生成(简介版)

FastAutoGenerator.create("url", "username", "password")

.globalConfig(builder -> {

builder.author("baomidou") // 设置作者

.enableSwagger() // 开启 swagger 模式

.fileOverride() // 覆盖已生成文件

.outputDir("D://"); // 指定输出目录

})

.packageConfig(builder -> {

builder.parent("com.baomidou.mybatisplus.samples.generator") // 设置父包名

.moduleName("system") // 设置父包模块名

.pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") +)); // 设置mapperXml生成路径 前边是取项目路径

})

.strategyConfig(builder -> {

builder.addInclude("t_simple") // 设置需要生成的表名,不设置生成全表

.addTablePrefix("t_", "c_"); // 设置过滤表前缀

})

.templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板

.execute();

2、快速生成(详细版)

public static void main(String[] args) {

FastAutoGenerator.create("jdbc:mysql://localhost:3306/daydayup?useUnicode=true&useSSL=false&characterEncoding=utf8", "root", "root")

.globalConfig(builder -> {

builder.author("知足") // 设置作者

.enableSwagger() // 开启 swagger 模式 可理解为接口文档规范

.fileOverride() // 覆盖已生成文件

.outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录

})

.packageConfig(builder -> {

builder.parent("") // 设置父包名

.moduleName("") // 设置父包模块名

.entity("entity")

.controller("controller")

.service("service")

.serviceImpl("imp") //设置包名

.pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") + "/srca/main/resources/mapper/")); // 设置mapperXml生成路径

})

.strategyConfig(builder -> {

builder.addInclude("表名")// 设置需要生成的表名 不使用该方法默认生成全表

.addTablePrefix("t_", "c_") // 设置过滤表前缀

.serviceBuilder()//Service配置

.formatServiceFileName("%sService")//%s = 表名 表名Service

.formatServiceImplFileName("%sServiceImp")//同上

.entityBuilder()//实体类配置 一般都是表名

.enableLombok()//开启Lombok 开启 swagger 模式 就没必要使用这个

.logicDeleteColumnName()//逻辑删除字段对应数据库那个字段

.logicDeletePropertyName()//逻辑删除字段对应实体类库那个字段

.controllerBuilder()//Controller配置

.formatFileName("%sController")

.enableRestStyle()//开启生成@RestController控制器

.mapperBuilder()//mapper配置

.formatMapperFileName("%sMapper")

.formatXmlFileName("%sMapper")

.enableMapperAnnotation()//开启@Mapper

.superClass(BaseMapper.class);//继承的父类

})

// 使用Freemarker引擎模板,默认的是Velocity引擎模板

.templateEngine(new FreemarkerTemplateEngine())

.execute();//傻逼代码 生成完自己打开目录

}

3、交互生成(暂未研究)

FastAutoGenerator.create(DATA_SOURCE_CONFIG)

// 全局配置

.globalConfig((scanner, builder) -> builder.author(scanner.apply("请输入作者名称?")).fileOverride())

// 包配置

.packageConfig((scanner, builder) -> builder.parent(scanner.apply("请输入包名?")))

// 策略配置

.strategyConfig((scanner, builder) -> builder.addInclude(getTables(scanner.apply("请输入表名,多个英文逗号分隔?所有输入 all")))

.controllerBuilder().enableRestStyle().enableHyphenStyle()

.entityBuilder().enableLombok().addTableFills(

new Column("create_time", FieldFill.INSERT)

).build())

/*

模板引擎配置,默认 Velocity 可选模板引擎 Beetl 或 Freemarker

.templateEngine(new BeetlTemplateEngine())

.templateEngine(new FreemarkerTemplateEngine())

*/

.execute();

// 处理 all 情况

protected static List<String> getTables(String tables) {

return "all".equals(tables) ? Collections.emptyList() : Arrays.asList(tables.split(","));

}

还有好多好玩的配置~不一一演示,生成完老是打开生成文件目录,看源码是有一个Open()不知道怎么让他不打开

迷途者寻影而行

以上是 MybatisPlus一键生成代码 的全部内容, 来源链接: utcz.com/z/536193.html

回到顶部