mybatisplus 代码生成器

作者: gavin 分类: 未分类 发布时间: 2023-04-28 14:21

一、添加依赖

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.3</version>
        </dependency>

二、创建一个工具类

package com.stocker.api.common;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;

import java.util.Collections;

/**
 * @author: Gavin
 * @created: 2023/4/28 06:02
 * @description:
 **/
public class CodeGenerateUtils {
    /**
     * 运行main方法进行代码生成
     * @param args
     */
    public static void main(String[] args) {
        //  获取用户程序当前路径
        String projectPath = System.getProperty("user.dir");
        // 设置输出到的目录
        String out = projectPath + "/src/main/java";
        //设置mapper.xml生成路径
        String xmlOut = projectPath + "/src/main/resources/mapper";

        FastAutoGenerator.create("jdbc:mysql://localhost:3306/hhh?serverTimezone=Asia/Shanghai", "root", "123456")
                .globalConfig(builder -> {
                    builder.author("alva") // 设置作者
                            .fileOverride() // 覆盖已生成文件
                            .outputDir(out); // 指定输出目录
                })
                .packageConfig(builder -> {
                    builder.parent("com.stocker.api") // 设置父包名
                            .moduleName(null) // 设置父包模块名
                            .entity("db.pojo")
                            .service("service")
                            .serviceImpl("service.impl")
                            .mapper("db.dao")
                            .xml("dao.xml")
                            .controller("controller")
                            .pathInfo(Collections.singletonMap(OutputFile.xml, xmlOut)); // 设置mapperXml生成路径


                })

                .strategyConfig(builder -> {
                    builder.serviceBuilder()
                            .formatServiceFileName("%sService")//重新命名实现类
                            .formatServiceImplFileName("%sServiceImpl");//重新命名接口
                    builder.mapperBuilder()
                            .formatMapperFileName("%sDao")//重新命名mapper
                            .formatXmlFileName("%sDao");//重新命名xml
                    builder.entityBuilder()
                            .enableLombok();//是否启用lombok
                            // 设置需要生成的表名--需要的时候直接替换表名即可
                    builder.addInclude("t_admin_account")
                            .addTablePrefix("t_"); // 设置过滤表前缀
                })
                .execute();

    }
}

三、生成的文件需要手动修改注释

Controller 需要加@RestController

dao文件需要加 @Mapper

bean文件的类型
bate 改为 Integer
LongDateTime 改为 Date