从零开始学springboot-1.创建项目

新建一个项目

从零开始学springboot-1.创建项目

从零开始学springboot-1.创建项目

添加依赖

从零开始学springboot-1.创建项目

点击完成,项目结构如下

从零开始学springboot-1.创建项目

手动添加以下依赖

打开pom.xml文件,手动添加以下依赖,用于自动生成代码

		<dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.1</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.3.4</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>

添加好之后,重新加载maven依赖 从零开始学springboot-1.创建项目

创建基础类

新建一个包base,并且新建一个实体类(用于超类)

从零开始学springboot-1.创建项目

建表

从零开始学springboot-1.创建项目
从零开始学springboot-1.创建项目

生成代码:

在test/java/com.example.demo中新建一个java类

TIPS:一般复制,然后在IDEA中直接粘贴即可自动创建这个java类

package com.example.demo;

import com.baomidou.mybatisplus.annotation.IdType;
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 java.util.Collections;

public class CodeGenerator {

    private String moudleName = "love";//模块名

    private String tableName = "tb_user";//表名

    @Test
    public void generate() {
        FastAutoGenerator.create("jdbc:mysql://localhost:3306/dbtest?serverTimezone=Asia/Shanghai", "dbtest", "dbtest")
                .globalConfig(builder -> {
                    builder.author("DaenMax") // 设置作者
                            //.enableSwagger() // 开启 swagger 模式
                            .fileOverride() // 覆盖已生成文件
                            .outputDir(System.getProperty("user.dir") + "/src/main/java"); // 指定输出目录
                })
                .packageConfig(builder -> {
                    builder.parent("com.example.demo") // 设置父包名
                            .moduleName(moudleName) // 设置父包模块名
                            .pathInfo(Collections.singletonMap(OutputFile.mapperXml, System.getProperty("user.dir") +
                                    "/src/main/resources/mapper")); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder.addInclude(tableName) // 设置需要生成的表名
                            .addTablePrefix("tb_") // 设置过滤表前缀
                            .entityBuilder()
                            .enableLombok()
                            .superClass("com.example.demo.base.baseEntity")
                            .idType(IdType.AUTO)
                            .enableChainModel()
                            .controllerBuilder()
                            .enableRestStyle()
                            .enableHyphenStyle();
                })
                .templateConfig(builder -> {
                    builder.mapperXml("/templates/mapper.xml");
                })
                .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                .execute();
    }
}

执行代码生成

上述代码是创建tb_user的相关代码,点击运行测试

从零开始学springboot-1.创建项目

运行成功,可以看到成功生成了tb_user相关的实体类、控制器、方法等

从零开始学springboot-1.创建项目

改一下表名为tb_class,继续生成tb_class的相关代码,然后点击运行

从零开始学springboot-1.创建项目

添加 @Mapper 注解

手动给mapper文件加上 @Mapper 注解

@Mapper

从零开始学springboot-1.创建项目

上一篇:MyBatis-Plus 动态表名SQL解析器的实现


下一篇:【项目】小帽学堂