MyBatis-Plus代码生成通用模板

本文介绍了如何在SpringBoot项目中使用MyBatis-Plus的代码生成工具,包括数据库配置、全局配置、包结构设置和策略配置,帮助开发者快速生成实体、Mapper、Service及Controller等文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MyBatis-Plus代码生成通用模板

转载于: https://www.cnblogs.com/l-y-h/p/12859477.html

适用于: SpringBoot或Spring框架(记得修改 *Mapper.xml 映射路径)、lombok插件、MyBatis-Plus框架

依赖导入:

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.3.1.tmp</version>
</dependency>
<!--lombok,还需安装插件-->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.8</version>
</dependency>
<!--MP模版生成所需依赖-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId
        <version>3.3.1.tmp</version>
</dependency>
<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-engine-core</artifactId>
    <version>2.2</version>
</dependency>

代码:

package com.example.demo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import java.io.File;

/**
 * @version 1.0
 * @Description: TODO
 * @Author RZeng
 * @date 2021/12/23 14:53
 */

public class autoMP {
    //数据库配置
    //数据库驱动,不是8.0记得去掉cj
    private final String driver = "com.mysql.cj.jdbc.Driver";
    //数据库链接,数据库名字记得更换
    private final String url = "jdbc:mysql://localhost:3306/db_ldk?useUnicode=true&characterEncoding=utf8";
    //用户名
    private final String root = "root";
    //密码
    private final String password = "123";
    //
    //模块名,也是要去除的表前缀名
    private final String model = "ldk";
    //表名
    private final String table = "ldk_door";
    //在src/main/java的包名
    private final String packageName = "com.example.demo";
    //项目绝对地址名,IDEA直接CV即可
    private final String projectPath = System.getProperty("user.dir");
    //开发者名字,生成代码注解作者
    private final String author = "rzeng"

    public void autoGenerate() {
        // Step1:代码生成器
        AutoGenerator mpg = new AutoGenerator();
        // Step2:全局配置
        GlobalConfig gc = new GlobalConfig();
        // 填写代码生成的目录(需要修改)
        //String projectPath = "E:\\myProject\\test\\test_mybatis_plus";
        // 拼接出代码最终输出的目录
        //gc.setOutputDir(projectPath + "/src/main/java");
        gc.setOutputDir(projectPath+"/src/main/java");
        // 配置开发者信息(可选)(需要修改)
        gc.setAuthor(author);
        // 配置是否打开目录,false 为不打开(可选)
        gc.setOpen(false);
        // 实体属性 Swagger2 注解,添加 Swagger 依赖,开启 Swagger2 模式(可选)
        //gc.setSwagger2(true);
        // 重新生成文件时是否覆盖,false 表示不覆盖(可选)
        gc.setFileOverride(false);
        // 配置主键生成策略,此处为 ASSIGN_ID(可选)
        gc.setIdType(IdType.ASSIGN_ID);
        // 配置日期类型,此处为 ONLY_DATE(可选)
        gc.setDateType(DateType.ONLY_DATE);
        // 默认生成的 service 会有 I 前缀
        gc.setServiceName("%sService");
        mpg.setGlobalConfig(gc);

        // Step3:数据源配置(需要修改)
        DataSourceConfig dsc = new DataSourceConfig();
        // 配置数据库 url 地址
        dsc.setUrl(url);
        // 可以直接在 url 中指定数据库名
        // dsc.setSchemaName("testMyBatisPlus");
        // 配置数据库驱动
        dsc.setDriverName(driver);
        // 配置数据库连接用户名
        dsc.setUsername(root);
        // 配置数据库连接密码
        dsc.setPassword(password);
        mpg.setDataSource(dsc);

        // Step:4:包配置
        PackageConfig pc = new PackageConfig();
        // 配置父包名(需要修改)
        pc.setParent(packageName);
        // 配置模块名(需要修改)
        pc.setModuleName(model);
        // 配置 entity 包名
        pc.setEntity("pojo");
        // 配置 mapper 包名
        pc.setMapper("mapper");
        // 配置 service 包名
        pc.setService("service");
        // 配置 serviceImpl所在包名
        pc.setServiceImpl("service.Impl");
        // 配置 controller 包名
        pc.setController("controller");
        mpg.setPackageInfo(pc);

        // Step5:策略配置(数据库表配置)
        StrategyConfig strategy = new StrategyConfig();
        // 指定表名(可以同时操作多个表,使用 , 隔开)(需要修改)
        strategy.setInclude(table);
        // 配置数据表与实体类名之间映射的策略
        strategy.setNaming(NamingStrategy.underline_to_camel);
        // 配置数据表的字段与实体类的属性名之间映射的策略
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);
        // 配置 lombok 模式
        strategy.setEntityLombokModel(true);
        // 配置 rest 风格的控制器(@RestController)
        strategy.setRestControllerStyle(true);
        // 配置驼峰转连字符
        strategy.setControllerMappingHyphenStyle(true);
        // 配置表前缀,生成实体时去除表前缀
        // 此处的表名为 test_mybatis_plus_user,模块名为 test_mybatis_plus,去除前缀后剩下为 user。
        strategy.setTablePrefix(pc.getModuleName() + "_");
        mpg.setStrategy(strategy);

        // Step6:执行代码生成操作
        mpg.execute();
    }

    public static void main(String[] args) {
        autoMP autoMP = new autoMP();
        autoMP.autoGenerate();
    }
}

生成的项目结构如图所示:
在这里插入图片描述

jieyu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值