MybatisPlus快速和交互生成CRUD代码


PS:MybatisPlus的代码生成器,可以根据数据库的表,一键生成对应的controller、entity、mapper、service以及对应的Mapper.xml文件

一、导入所需依赖

<dependency>
 <groupId>com.baomidou</groupId>
     <artifactId>mybatis-plus-generator</artifactId>
     <version>3.5.1</version>
 </dependency>
 <dependency>
     <groupId>org.freemarker</groupId>
     <artifactId>freemarker</artifactId>
     <version>2.3.31</version>
 </dependency>

二、实现代码

1、快速生成

package com.vector.springbootmabatisplus;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

import java.util.Collections;

public class FastAutoGeneratorTest {
    public static void main(String[] args) {
        FastAutoGenerator.create("jdbc:mysql://127.0.0.1:3306/mybatis_plus?characterEncoding=utf-8&userSSL=false", "数据库用户名", "数据库密码")
                .globalConfig(builder -> {
                    builder.author("vector")// 设置作者
                            //.enableSwagger() // 开启 swagger 模式
                            .fileOverride() // 覆盖已生成文件
                            .outputDir("D://mybatis_plus");// 指定输出目录

                }).packageConfig(builder -> {
            builder.parent("com.vector")// 设置父包名
                    .moduleName("mybatisplus")// 设置父包模块名
                    .pathInfo(Collections.singletonMap(OutputFile.mapperXml, "D://mybatis_plus"));// 设置mapperXml生成路径
        })
                .strategyConfig(builder -> {
                    builder.addInclude("t_user")// 设置需要生成的表名
                            .addTablePrefix("t_", "c_");// 设置过滤表前缀
                }).templateEngine(new FreemarkerTemplateEngine())// 使用Freemarker 引擎模板,默认的是Velocity引擎模板
                .execute();
    }
}

2、交互生成

package com.vector.springshiromanager;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import com.baomidou.mybatisplus.generator.fill.Column;

import java.util.*;

// 演示例子,执行 main 方法控制台输入模块表名回车自动生成对应项目目录中
public class CodeGenerator {
    /**
     * 数据源配置
     */
    private static final DataSourceConfig.Builder DATA_SOURCE_CONFIG = new DataSourceConfig
            .Builder("jdbc:mysql://127.0.0.1:3306/education?characterEncoding=utf-8&userSSL=false", "root", "123456");

    // 处理 all 情况
    protected static List<String> getTables(String tables) {
        return "all".equals(tables) ? Collections.emptyList() : Arrays.asList(tables.split(","));
    }

    public static void main(String[] args) {
        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();
    }
}

三、效果如下

在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: MybatisPlus代码生成器可以帮助我们快速生成CRUD(增删改查)操作的代码。它可以根据数据库表结构自动生成实体类、Mapper接口以及XML文件,大大减少了手写代码的工作量,提高了开发效率。同时,MybatisPlus代码生成器还支持自定义模板,可以根据自己的需求生成符合自己项目规范的代码。 ### 回答2: Mybatisplus是一种流行的Java开发框架,提供了许多有用的功能,可以显著简化代码开发过程。其中最为重要的功能之一就是代码生成器,它可以帮助我们快速生成基于CRUD操作的代码,从而提高开发效率。下面将详细介绍Mybatisplus代码生成器的基本使用方法。 Mybatisplus代码生成CRUD的实现: 使用Mybatisplus代码生成CRUD,需要先创建一个数据库表。然后,我们需要通过Mybatisplus的代码生成器来生成对应的Java代码。具体步骤如下: 1.配置pom.xml文件 在使用Mybatisplus的代码生成器之前,我们需要在pom.xml文件中添加对Mybatisplus的依赖项。在pom.xml文件中,添加以下代码: <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>${mybatis-plus.version}</version> </dependency> 2.配置代码生成器 接下来,我们需要对代码生成器进行配置。我们可以在Mybatisplus官方网站上查看相关文档,以获取更多有关配置的信息。在配置中,我们需要设置数据源,填入数据库相关信息。 3.生成代码 配置完代码生成器之后,我们可以来生成代码。我们需要选择要生成的实体类所在的包,设置控制器、服务和映射文件等。然后,我们就可以执行代码生成器,生成对应的Java代码。 4.使用代码 生成代码后,我们就可以按照自己的需求来使用这些代码了。在使用代码之前,我们需要将生成代码复制到我们自己的项目中,并进行必要的修改和调整,以满足项目的需求。 总之,Mybatisplus代码生成CRUD是一种非常实用的开发工具,可以帮助我们快速生成基于CRUD操作的代码。通过它,我们可以大大提高开发效率,从而更快地实现项目目标。 ### 回答3: MybatisPlus是一款基于Mybatis框架的增强工具包,为开发者提供了诸如代码生成器、通用Mapper、分页插件等功能,便于更加高效地进行数据库操作。其中,代码生成器是MybatisPlus的重要功能之一,可以帮助开发者快速生成基于数据库表的CRUD代码MybatisPlus的代码生成器可以在IDEA或Eclipse等Java开发工具中通过插件的方式进行安装,然后通过配置数据库连接信息,选择需要生成相应代码的表,设置代码生成路径、作者等信息,便可自动生成包含实体类、Mapper接口、Mapper.xml文件以及Service、Controller等层级的代码。 在生成代码中,可以针对每一个表单独设置生成策略,支持按照表前缀、后缀、去前缀、去后缀等方式对表生成相应代码,也支持为生成的实体类自动添加注解、添加父类等方式进行自定义。 对于生成的Mapper接口和Mapper.xml文件,可以通过自定义SQL语句等方式进行新增、修改、删除、查询等操作,其中MybatisPlus提供的通用Mapper可以在不写SQL语句的情况下进行各种操作,方便简单。 在生成的Service和Controller中,可以根据实际业务需求进行二次开发和优化,提高代码效率和可维护性。 总体上来说,MybatisPlus的代码生成器是一个非常实用的工具,可以为开发者省去大量繁琐的CRUD代码编写工作,提高开发效率,是值得推荐的一款Java开发工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芝士汉堡 ིྀིྀ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值